Firebase Unity SDK でUnityゲームをパワーアップしましょう。
Firebase を Unity プロジェクトにプラグインするのがいかに簡単かを示すために、 GitHub 、 App Store 、およびGoogle Play ストアからダウンロードできるサンプル ゲーム MechaHamster を作成しました。
Firebase ゲームのページで、Firebase を使用してゲームをパワーアップする方法の詳細を確認してください。
Unity プロジェクトにすでに Firebase を追加していますか? Firebase Unity SDKの最新バージョンを使用していることを確認してください。
前提条件
Unity 2019.1 以降をインストールします。以前のバージョンも互換性がある可能性がありますが、積極的にサポートされる予定はありません。 Unity 2019.1 のサポートは非推奨と見なされ、次のメジャー リリース以降は積極的にサポートされなくなります。
(Apple プラットフォームのみ)以下をインストールします。
- Xcode 13.3.1 以降
- CocoaPods 1.10.0 以降
Unity プロジェクトが次の要件を満たしていることを確認してください。
- iOS の場合— iOS 11 以降を対象としています
- tvOS の場合- tvOS 12 以降を対象
- Android の場合— API レベル 19 (KitKat) 以上を対象としています
物理デバイスをセットアップするか、エミュレーターを使用してアプリを実行します。
Apple プラットフォームの場合 — 物理デバイスをセットアップするか、iOS または tvOS シミュレーターを使用します。
iOS または tvOS でのクラウド メッセージングの前提条件は次のとおりです。
- 物理デバイスをセットアップします。
- Apple Developer アカウントの Apple プッシュ通知認証キーを取得します。
- XCode のApp > Capabilitiesでプッシュ通知を有効にします。
Androidの場合 —エミュレーターは、Google Play でエミュレーター イメージを使用する必要があります。
- Google アカウントを使用して Firebase にサインインします。
Unity プロジェクトをまだお持ちでなく、Firebase 製品を試してみたいだけの場合は、クイックスタート サンプルのいずれかをダウンロードできます。
ステップ 1 : Firebase プロジェクトを作成する
Firebase を Unity プロジェクトに追加する前に、Firebase プロジェクトを作成して Unity プロジェクトに接続する必要があります。 Firebase プロジェクトについて詳しくは、 Firebase プロジェクトを理解するをご覧ください。
ステップ 2 : アプリを Firebase に登録する
1 つ以上のアプリまたはゲームを登録して、Firebase プロジェクトに接続できます。
Firebase コンソールに移動します。
プロジェクト概要ページの中央にあるUnityアイコン (
) をクリックして、セットアップ ワークフローを起動します。Firebase プロジェクトに既にアプリを追加している場合は、[アプリを追加] をクリックしてプラットフォーム オプションを表示します。
登録する Unity プロジェクトのビルド ターゲットを選択するか、両方のターゲットを同時に登録することを選択することもできます。
Unity プロジェクトのプラットフォーム固有の ID を入力します。
iOSの場合 — Unity プロジェクトの iOS ID をiOS バンドル IDフィールドに入力します。
Androidの場合 — Android パッケージ名フィールドに Unity プロジェクトの Android ID を入力します。
パッケージ名とアプリケーション IDという用語は、しばしば同じ意味で使用されます。
Unity IDE で Unity プロジェクトを開き、各プラットフォームの設定セクションに移動します。
iOS の場合— Build Settings > iOSに移動します。
Android の場合— [Android] > [Player Settings] > [Other Settings]に移動します。
Unity プロジェクトの ID はBundle Identifierの値です (ID の例:
com.yourcompany.yourproject
)。(オプション) Unity プロジェクトのプラットフォーム固有のニックネームを入力します。
これらのニックネームは内部の便利な識別子であり、Firebase コンソールでのみ表示されます。[アプリを登録]をクリックします。
ステップ 3 : Firebase 構成ファイルを追加する
Firebase コンソールのセットアップ ワークフローで、プラットフォーム固有の Firebase 構成ファイルを取得します。
iOS の場合— [ GoogleService-Info.plist をダウンロード] をクリックします。
Android の場合— [ google-services.json をダウンロード] をクリックします。
Firebase 構成ファイルには、プロジェクトの一意であるが秘密ではない識別子が含まれています。この構成ファイルの詳細については、 Firebase プロジェクトを理解するをご覧ください。
Firebase 構成ファイルはいつでも再ダウンロードできます。
構成ファイル名に
(2)
のような追加の文字が追加されていないことを確認してください。
Unity プロジェクトのProjectウィンドウを開き、構成ファイルを
Assets
フォルダーに移動します。Firebase コンソールに戻り、セットアップ ワークフローで [次へ] をクリックします。
ステップ 4 : Firebase Unity SDK を追加する
Firebase コンソールで、 Download Firebase Unity SDKをクリックし、SDK を適切な場所に解凍します。
Firebase Unity SDKはいつでも再ダウンロードできます。
Firebase Unity SDK はプラットフォーム固有ではありません。
開いている Unity プロジェクトで、 Assets > Import Package > Custom Packageに移動します。
解凍した SDK から、アプリで使用するサポート対象の Firebase プロダクトを選択します。
分析が有効
- Google アナリティクス用の Firebase パッケージを追加します:
FirebaseAnalytics.unitypackage
- アプリで使用する他の Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
FirebaseAuth.unitypackage
とFirebaseDatabase.unitypackage
分析が有効になっていません
アプリで使用する Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
FirebaseAuth.unitypackage
とFirebaseDatabase.unitypackage
- Google アナリティクス用の Firebase パッケージを追加します:
[ Unity パッケージのインポート] ウィンドウで、[インポート] をクリックします。
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 のサブセットを提供しています。
モバイル プラットフォームの場合と同じ手順に従って、デスクトップ プラットフォームの Unity プロジェクトをセットアップします (上記のFirebase にアプリを登録する手順から始めます)。
Unity プロジェクトを Unity IDE で実行するか、デスクトップ用の Unity プロジェクトをビルドすることを選択します。
(オプション) Unity プロジェクトを編集モードで実行します。
Firebase Unity SDK は、Unity の編集モードでも実行できるため、エディター プラグインで使用できます。
エディターで使用される
FirebaseApp
を作成するときは、既定のインスタンスを使用しないでください。代わりに、
FirebaseApp.Create()
呼び出しに一意の名前を指定してください。これは、Unity IDE で使用されるインスタンスと Unity プロジェクトで使用されるインスタンスの間のオプションの競合を回避するために重要です。
サポートされている Firebase プロダクト
Unity Firebase ライブラリの詳細については、リファレンス ドキュメントを参照してください。
モバイルで利用可能な Firebase ライブラリ
Firebase Unity SDK は、 Appleおよび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 向けにビルドする際に便利なように、残りのデスクトップ ライブラリをスタブ (非機能) 実装として提供します。したがって、デスクトップを対象とするコードを条件付きでコンパイルする必要はありません。
次のステップ
サンプルの Firebase アプリを調べる。
アプリを起動する準備をします。
- Google Cloud Console でプロジェクトの予算アラートを設定します。
- Firebase コンソールで使用状況と請求のダッシュボードを監視して、複数の Firebase サービスにわたるプロジェクトの使用状況の全体像を把握します。
- Firebase の起動チェックリストを確認します。
Firebase と Unity プロジェクトに問題がありますか? Unity のトラブルシューティングと FAQにアクセスしてください。
Firebase Unity SDK でUnityゲームをパワーアップしましょう。
Firebase を Unity プロジェクトにプラグインするのがいかに簡単かを示すために、 GitHub 、 App Store 、およびGoogle Play ストアからダウンロードできるサンプル ゲーム MechaHamster を作成しました。
Firebase ゲームのページで、Firebase を使用してゲームをパワーアップする方法の詳細を確認してください。
Unity プロジェクトにすでに Firebase を追加していますか? Firebase Unity SDKの最新バージョンを使用していることを確認してください。
前提条件
Unity 2019.1 以降をインストールします。以前のバージョンも互換性がある可能性がありますが、積極的にサポートされる予定はありません。 Unity 2019.1 のサポートは非推奨と見なされ、次のメジャー リリース以降は積極的にサポートされなくなります。
(Apple プラットフォームのみ)以下をインストールします。
- Xcode 13.3.1 以降
- CocoaPods 1.10.0 以降
Unity プロジェクトが次の要件を満たしていることを確認してください。
- iOS の場合— iOS 11 以降を対象としています
- tvOS の場合- tvOS 12 以降を対象
- Android の場合— API レベル 19 (KitKat) 以上を対象としています
物理デバイスをセットアップするか、エミュレーターを使用してアプリを実行します。
Apple プラットフォームの場合 — 物理デバイスをセットアップするか、iOS または tvOS シミュレーターを使用します。
iOS または tvOS でのクラウド メッセージングの前提条件は次のとおりです。
- 物理デバイスをセットアップします。
- Apple Developer アカウントの Apple プッシュ通知認証キーを取得します。
- XCode のApp > Capabilitiesでプッシュ通知を有効にします。
Androidの場合 —エミュレーターは、Google Play でエミュレーター イメージを使用する必要があります。
- Google アカウントを使用して Firebase にサインインします。
Unity プロジェクトをまだお持ちでなく、Firebase 製品を試してみたいだけの場合は、クイックスタート サンプルのいずれかをダウンロードできます。
ステップ 1 : Firebase プロジェクトを作成する
Firebase を Unity プロジェクトに追加する前に、Firebase プロジェクトを作成して Unity プロジェクトに接続する必要があります。 Firebase プロジェクトについて詳しくは、 Firebase プロジェクトを理解するをご覧ください。
ステップ 2 : アプリを Firebase に登録する
1 つ以上のアプリまたはゲームを登録して、Firebase プロジェクトに接続できます。
Firebase コンソールに移動します。
プロジェクト概要ページの中央にあるUnityアイコン (
) をクリックして、セットアップ ワークフローを起動します。Firebase プロジェクトに既にアプリを追加している場合は、[アプリを追加] をクリックしてプラットフォーム オプションを表示します。
登録する Unity プロジェクトのビルド ターゲットを選択するか、両方のターゲットを同時に登録することを選択することもできます。
Unity プロジェクトのプラットフォーム固有の ID を入力します。
iOSの場合 — Unity プロジェクトの iOS ID をiOS バンドル IDフィールドに入力します。
Androidの場合 — Android パッケージ名フィールドに Unity プロジェクトの Android ID を入力します。
パッケージ名とアプリケーション IDという用語は、しばしば同じ意味で使用されます。
Unity IDE で Unity プロジェクトを開き、各プラットフォームの設定セクションに移動します。
iOS の場合— Build Settings > iOSに移動します。
Android の場合— [Android] > [Player Settings] > [Other Settings]に移動します。
Unity プロジェクトの ID はBundle Identifierの値です (ID の例:
com.yourcompany.yourproject
)。(オプション) Unity プロジェクトのプラットフォーム固有のニックネームを入力します。
これらのニックネームは内部の便利な識別子であり、Firebase コンソールでのみ表示されます。[アプリを登録]をクリックします。
ステップ 3 : Firebase 構成ファイルを追加する
Firebase コンソールのセットアップ ワークフローで、プラットフォーム固有の Firebase 構成ファイルを取得します。
iOS の場合— [ GoogleService-Info.plist をダウンロード] をクリックします。
Android の場合— [ google-services.json をダウンロード] をクリックします。
Firebase 構成ファイルには、プロジェクトの一意であるが秘密ではない識別子が含まれています。この構成ファイルの詳細については、 Firebase プロジェクトを理解するをご覧ください。
Firebase 構成ファイルはいつでも再ダウンロードできます。
構成ファイル名に
(2)
のような追加の文字が追加されていないことを確認してください。
Unity プロジェクトのProjectウィンドウを開き、構成ファイルを
Assets
フォルダーに移動します。Firebase コンソールに戻り、セットアップ ワークフローで [次へ] をクリックします。
ステップ 4 : Firebase Unity SDK を追加する
Firebase コンソールで、 Download Firebase Unity SDKをクリックし、SDK を適切な場所に解凍します。
Firebase Unity SDKはいつでも再ダウンロードできます。
Firebase Unity SDK はプラットフォーム固有ではありません。
開いている Unity プロジェクトで、 Assets > Import Package > Custom Packageに移動します。
解凍した SDK から、アプリで使用するサポート対象の Firebase プロダクトを選択します。
分析が有効
- Google アナリティクス用の Firebase パッケージを追加します:
FirebaseAnalytics.unitypackage
- アプリで使用する他の Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
FirebaseAuth.unitypackage
とFirebaseDatabase.unitypackage
分析が有効になっていません
アプリで使用する Firebase プロダクトのパッケージを追加します。たとえば、Firebase Authentication と Firebase Realtime Database を使用するには:
FirebaseAuth.unitypackage
とFirebaseDatabase.unitypackage
- Google アナリティクス用の Firebase パッケージを追加します:
[ Unity パッケージのインポート] ウィンドウで、[インポート] をクリックします。
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 のサブセットを提供しています。
モバイル プラットフォームの場合と同じ手順に従って、デスクトップ プラットフォームの Unity プロジェクトをセットアップします (上記のFirebase にアプリを登録する手順から始めます)。
Unity プロジェクトを Unity IDE で実行するか、デスクトップ用の Unity プロジェクトをビルドすることを選択します。
(オプション) Unity プロジェクトを編集モードで実行します。
Firebase Unity SDK は、Unity の編集モードでも実行できるため、エディター プラグインで使用できます。
エディターで使用される
FirebaseApp
を作成するときは、既定のインスタンスを使用しないでください。代わりに、
FirebaseApp.Create()
呼び出しに一意の名前を指定してください。これは、Unity IDE で使用されるインスタンスと Unity プロジェクトで使用されるインスタンスの間のオプションの競合を回避するために重要です。
サポートされている Firebase プロダクト
Unity Firebase ライブラリの詳細については、リファレンス ドキュメントを参照してください。
モバイルで利用可能な Firebase ライブラリ
Firebase Unity SDK は、 Appleおよび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 向けにビルドする際に便利なように、残りのデスクトップ ライブラリをスタブ (非機能) 実装として提供します。したがって、デスクトップを対象とするコードを条件付きでコンパイルする必要はありません。
次のステップ
サンプルの Firebase アプリを調べる。
アプリを起動する準備をします。
- Google Cloud Console でプロジェクトの予算アラートを設定します。
- Firebase コンソールで使用状況と請求のダッシュボードを監視して、複数の Firebase サービスにわたるプロジェクトの使用状況の全体像を把握します。
- Firebase の起動チェックリストを確認します。
Firebase と Unity プロジェクトに問題がありますか? Unity のトラブルシューティングと FAQにアクセスしてください。