UnityでFirebaseのRealtimeDatabaseを使ってデータ通信するメモ(2019年12月)

スポンサーリンク
Firebase
スポンサーリンク
↑管理人が個人でUnity+Live2Dで作成しているスマホゲームです

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;
    }

認証の前後どちらにするのが正しいのか分かりませんが、自分のアプリでは認証の後に実行しています。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
読み込み中...

コメント

  1. […] 2019年12月26日 UnityでFirebaseのRealtimeDatabaseを使ってデータ通信するメモ(2019年12月) […]

広告ブロッカーを無効にしてください。

タイトルとURLをコピーしました