Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

UnityプロジェクトにFirebaseを追加する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Firebase Unity SDK でUnityゲームをパワーアップしましょう。

Firebase を Unity プロジェクトにプラグインするのがいかに簡単かを示すために、 GitHubApp Store 、およびGoogle Play ストアからダウンロードできるサンプル ゲーム MechaHamster を作成しました。

メカハムスター (GitHub)

メカハムスター (App Store)

メカハムスター (プレイストア)


Firebase ゲームのページで、Firebase を使用してゲームをパワーアップする方法の詳細を確認してください。

Unity プロジェクトにすでに Firebase を追加していますか? Firebase Unity SDKの最新バージョンを使用していることを確認してください。

前提条件

  • Unity 2018.4 以降をインストールします。以前のバージョンも互換性がある可能性がありますが、積極的にサポートされる予定はありません。 Unity 2018.4 のサポートは非​​推奨と見なされ、次のメジャー リリース以降は積極的にサポートされなくなります。

  • (iOS のみ)以下をインストールします。

    • Xcode 13.3.1 以降
    • CocoaPods 1.10.0 以降
  • Unity プロジェクトが次の要件を満たしていることを確認してください。

    • iOS の場合— iOS 11 以降を対象としています
    • Android の場合— API レベル 19 (KitKat) 以上を対象としています

  • 物理デバイスをセットアップするか、エミュレーターを使用してアプリを実行します。

    • iOSの場合 — 物理 iOS デバイスをセットアップするか、iOS シミュレーターを使用します。

    • Androidの場合 —エミュレーターは、Google Play でエミュレーター イメージを使用する必要があります。

Unity プロジェクトをまだお持ちでなく、Firebase 製品を試してみたいだけの場合は、クイックスタート サンプルのいずれかをダウンロードできます。

ステップ 1 : Firebase プロジェクトを作成する

Firebase を Unity プロジェクトに追加する前に、Firebase プロジェクトを作成して Unity プロジェクトに接続する必要があります。 Firebase プロジェクトについて詳しくは、 Firebase プロジェクトを理解するをご覧ください。

ステップ 2 : アプリを Firebase に登録する

1 つ以上のアプリまたはゲームを登録して、Firebase プロジェクトに接続できます。

  1. Firebase コンソールに移動します。

  2. プロジェクト概要ページの中央にあるUnityアイコン ( ) をクリックして、セットアップ ワークフローを起動します。

    Firebase プロジェクトに既にアプリを追加している場合は、[アプリを追加] をクリックしてプラットフォーム オプションを表示します。

  3. 登録する Unity プロジェクトのビルド ターゲットを選択するか、両方のターゲットを同時に登録することを選択することもできます。

  4. Unity プロジェクトのプラットフォーム固有の ID を入力します。

    • iOSの場合 — Unity プロジェクトの iOS ID をiOS バンドル IDフィールドに入力します。

    • Androidの場合 — Android パッケージ名フィールドに Unity プロジェクトの Android ID を入力します。
      パッケージ名アプリケーション IDという用語は、しばしば同じ意味で使用されます。

  5. (オプション) Unity プロジェクトのプラットフォーム固有のニックネームを入力します。
    これらのニックネームは内部の便利な識別子であり、Firebase コンソールでのみ表示されます。

  6. [アプリを登録]をクリックします。

ステップ 3 : Firebase 構成ファイルを追加する

  1. Firebase コンソールのセットアップ ワークフローで、プラットフォーム固有の Firebase 構成ファイルを取得します。

    • iOS の場合— [ GoogleService-Info.plist をダウンロード] をクリックします。

    • Android の場合— [ google-services.json をダウンロード] をクリックします。

  2. Unity プロジェクトのProjectウィンドウを開き、構成ファイルをAssetsフォルダーに移動します。

  3. Firebase コンソールに戻り、セットアップ ワークフローで [次へ] をクリックします。

ステップ 4 : Firebase Unity SDK を追加する

  1. Firebase コンソールで、 Download Firebase Unity SDKをクリックし、SDK を適切な場所に解凍します。

    • Firebase Unity SDKはいつでも再ダウンロードできます。

    • Firebase Unity SDK はプラットフォーム固有ではありません。

  2. 開いている Unity プロジェクトで、 Assets > Import Package > Custom Packageに移動します。

  3. 解凍した SDK から、アプリで使用するサポート対象の Firebase プロダクトを選択します。

    分析が有効

    • Google アナリティクス用の Firebase パッケージを追加します: FirebaseAnalytics.unitypackage
    • アプリで使用する他の Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
      FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

    分析が有効になっていません

    アプリで使用する Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
    FirebaseAuth.unitypackageFirebaseDatabase.unitypackage

  4. [ Unity パッケージのインポート] ウィンドウで、[インポート] をクリックします。

  5. Firebase コンソールに戻り、セットアップ ワークフローで [次へ] をクリックします。

ステップ 5 : Google Play サービスのバージョン要件を確認する

Firebase Unity SDK for Android にはGoogle Play サービスが必要です。これは、SDK を使用する前に最新である必要があります。

アプリケーションの先頭に次のコードを追加します。 SDK の他のメソッドを呼び出す前に、Google Play サービスを確認し、必要に応じて Firebase Unity 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;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

これで準備完了です。 Unity プロジェクトが登録され、Firebase を使用するように構成されました。

ただし、セットアップに問題がある場合は、 Unity のトラブルシューティングと FAQにアクセスしてください。

デスクトップ ワークフローをセットアップする (ベータ)

ゲームを作成するときは、多くの場合、最初に Unity エディターとデスクトップ プラットフォームでゲームをテストしてから、開発の後半でモバイル デバイスに展開してテストする方がはるかに簡単です。このワークフローをサポートするために、Windows、macOS、Linux で、Unity エディター内から実行できるFirebase Unity SDK のサブセットを提供しています。

  1. モバイル プラットフォームの場合と同じ手順に従って、デスクトップ プラットフォームの Unity プロジェクトをセットアップします (上記のFirebase にアプリを登録する手順から始めます)。

  2. Unity プロジェクトを Unity IDE で実行するか、デスクトップ用の Unity プロジェクトをビルドすることを選択します。

  3. (オプション) Unity プロジェクトを編集モードで実行します。

    Firebase Unity SDK は、Unity の編集モードでも実行できるため、エディター プラグインで使用できます。

    1. エディターで使用されるFirebaseAppを作成するときは、既定のインスタンスを使用しないでください。

    2. 代わりに、 FirebaseApp.Create()呼び出しに一意の名前を指定してください。

      これは、Unity IDE で使用されるインスタンスと Unity プロジェクトで使用されるインスタンスの間のオプションの競合を回避するために重要です。

サポートされている Firebase プロダクト

Unity Firebase ライブラリの詳細については、リファレンス ドキュメントを参照してください。

Firebase Unity SDK は、 iOSおよびAndroidで次の Firebase 製品をサポートしています。

Firebase プロダクトユニティ パッケージ
AdMob AdMob Unity プラグインで個別に配布
分析FirebaseAnalytics.unitypackage
認証FirebaseAuth.unitypackage
クラウド ファイアストアFirebaseFirestore.unitypackage
クラウド機能FirebaseFunctions.unitypackage
クラウド メッセージングFirebaseMessaging.unitypackage
(推奨) FirebaseAnalytics.unitypackage
クラウドストレージFirebaseStorage.unitypackage
クラッシュリティクスFirebaseCrashlytics.unitypackage
(推奨) FirebaseAnalytics.unitypackage
動的リンクFirebaseDynamicLinks.unitypackage
(推奨) FirebaseAnalytics.unitypackage
リアルタイム データベースFirebaseDatabase.unitypackage
リモート設定FirebaseRemoteConfig.unitypackage
(推奨) FirebaseAnalytics.unitypackage

サポートされている Firebase プロダクト(デスクトップ)

Firebase Unity SDK には、製品のサブセットに対するデスクトップ ワークフロー サポートが含まれており、Firebase の特定の部分を Unity エディターで使用したり、Windows、macOS、Linux のスタンドアロン デスクトップ ビルドで使用したりできます。

Firebase プロダクト(デスクトップ)ユニティ パッケージ
認証FirebaseAuth.unitypackage
クラウド機能FirebaseFunctions.unitypackage
クラウド ファイアストアFirebaseFirestore.unitypackage
クラウドストレージFirebaseStorage.unitypackage
リアルタイム データベースFirebaseDatabase.unitypackage
リモート設定FirebaseRemoteConfig.unitypackage

Firebase は、Windows、macOS、および Linux 向けにビルドする際に便利なように、残りのデスクトップ ライブラリをスタブ (非機能) 実装として提供します。したがって、デスクトップを対象とするコードを条件付きでコンパイルする必要はありません。

次のステップ