https://firebase.google.com/docs/unity/setup ここを参考にFirebaseを導入します。
過去のバージョンよりも導入が簡単になったようです。
Firebaseコンソールでのアプリ登録
・FirebaseコンソールのProject Overviewでアプリを追加
を押します。プラットフォーム選択としてプラットフォームのアイコンが並んで表示されるので
Unityのアイコン(一番右)をクリックします。
Register as iOS appとRegister as Android appをチェックして、バンドルIDとパッケージ名を入力し、アプリを登録をクリックします。
・次に設定ファイルをダウンロードし、Assets以下の好きな場所に置きます。
iOSの方のSDKはMac側で
pod install --repo-update
した時に追加されます。
Firebase Unity SDKを追加する
https://firebase.google.com/download/unity こちらからSDKをダウンロードしFirebaseAnalytics.unitypackage をインポートします。
Google Play開発者サービスのバージョン更新処理を追加
Android 向けのFirebase Unity SDK にはGoogle Play開発者サービスが必要で、SDK を使用する前に最新版にしておく必要があります。
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => { var dependencyStatus = task.Result; if (dependencyStatus == Firebase.DependencyStatus.Available) { // Create and hold a reference to your FirebaseApp, // where app is a Firebase.FirebaseApp property of your application class. // app = Firebase.FirebaseApp.DefaultInstance; //Firebaseが準備できてるフラグを立てたりログイン処理につなげたり } else { UnityEngine.Debug.LogError(System.String.Format( "Could not resolve all Firebase dependencies: {0}", dependencyStatus)); // Firebase Unity SDK is not safe to use here. } });
アプリケーションの先頭で上記コードを追加すると公式ガイドにはありますが、自分のアプリでは使用するシーンのStart()に置いてます。
Firebaseへのアクセス前の初期化
// Initialize the Firebase database: void InitializeFirebase() { FirebaseApp app = FirebaseApp.DefaultInstance; // NOTE: You'll need to replace this url with your Firebase App's database // path in order for the database connection to work correctly in editor. //DBアクセス前に必要 FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://***.firebaseio.com/"); if (app.Options.DatabaseUrl != null) app.SetEditorDatabaseUrl(app.Options.DatabaseUrl); //リスナーをセットしたり isFirebaseInitialized = true; }
認証の前後どちらにするのが正しいのか分かりませんが、自分のアプリでは認証の後に実行しています。
コメント
[…] 2019年12月26日 UnityでFirebaseのRealtimeDatabaseを使ってデータ通信するメモ(2019年12月) […]