次にFirebaseの設定を行います。
Firebaseプロジェクトの作成
Firebaseコンソールにログインし、新規プロジェクトを作成します。
下のダイアログが出るので
プロジェクト名を入れ、国/地域 は日本にしておきましょう。
画像に書いてあるように、作成できるプロジェクト数には限りがあるので注意。
アプリを追加
プロジェクトを作成できたら、トップ画面からiOSアプリを追加します。
またダイアログが出るので、
最低限バンドルIDのみ入力して次へ。
すると、GoogleService-Info.plistというファイルダウンロードされます。
あとで使うのでとっておきましょう。
ここまででダイアログは閉じてしまってOKです。
Firebaseコンソールに証明書をアップロード
プロジェクトのメニューからクラウドメッセージングと進み、
スクロールして下までいきます。
開発用APNs証明書の「証明書をアップロード」ボタンを押し、キーチェーンから書き出した.p12ファイルをアップロードします。
Unityの設定
次はUnityの設定です。
UnityにSDKを導入する
下のページからDOWNLOAD THE SDKボタンでSDKをダウンロードします。
Adding Firebase to your Unity Project | Firebase
解凍したファイルからFirebaseMessaging.unitypackageをUnityプロジェクトにインポートします。
さらに、FirebaseコンソールからダウンロードしたGoogleService-Info.plist をプロジェクトにドラッグしてインポートしましょう。
ファイルを置く場所はプロジェクト内ならどこでもかまいません。
CocoaPodsをインストール
iOSライブラリ管理ツールにCocoaPodsというものがありますが、これもインストールします。どうやらUnityからXcodeプロジェクト書き出し後に実行されるようです。
Homebrewとかrbenvを使うとうまくいかなかったので、Macプリインのrubyをアップデートしつつインストールしました。
・参考
【Ruby】Gem本体のアップデートについて - TASK NOTES
MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法
Firebaseのコードを実装
いよいよコードを実装します。
下の公式サイトの方法にならっていくだけです。
Firebaseのクラスを使用するため、NotificationServicesクラスは使用しません。
public class FirebaseTest : MonoBehaviour { public void Start() { Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived; Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived; } public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) { UnityEngine.Debug.Log("Received Registration Token: " + token.Token); } public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) { UnityEngine.Debug.Log("Received a new message from: " + e.Message.From); } }
この二つのハンドラを登録することで、自動的にFirebaseの初期設定が行われます。
Firebase.Messaging.FirebaseMessaging.TokenReceived で受け取るtokenという文字列は、実行したデバイスを表す一意な値です。
Firebaseのコンソールから特定の端末にのみ通知を送りたい場合に使用します。
FirebaseMessaging.MessageReceivedでは、アプリ実行中に通知をうけとった場合の動作を記述します。
ビルド
ここまでできたらXcodeプロジェクトに書き出しましょう。