Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。
このページは Cloud Translation API によって翻訳されました。
Switch to English

AndroidとFirebaseの詳細

Firebaseを使用してAndroidプロジェクトを開発しているときに、Firebaseに馴染みのない、または固有の概念に気付く場合があります。このページは、これらの質問に答えたり、詳細を知るためのリソースを紹介したりすることを目的としています。

このページに記載されていないトピックについて質問がある場合は、オンラインコミュニティの1つにアクセスしてください。また、このページは定期的に新しいトピックで更新されるので、知りたいトピックが追加されているかどうかを確認してください。

AndroidStudio用のFirebaseAssistantプラグイン

Firebase Assistantは、AndroidアプリをFirebaseプロジェクトに登録し、必要なFirebase構成ファイル、プラグイン、依存関係をすべてAndroidStudio内からAndroidプロジェクトに追加するAndroidStudioプラグインです。

Androidのスタートページの指示に従って、FirebaseAssistantを使用します。 AndroidStudioとFirebaseAssistantの両方の最新バージョンを使用していることを確認してください( [ファイル]> [アップデートを確認]に移動します)。

アプリに追加する特定のFirebase製品を選択すると、FirebaseAssistantはapp/build.gradleファイルで必要な依存関係を自動的に宣言します。ただし、Firebase Assistantの現在の機能を超えるFirebase機能を使用するには、次の依存関係を手動で変更することをお勧めします。

  • Firebase Android BoMを使用する場合は、モジュール(アプリレベル)Gradleファイル(通常はapp/build.gradle )の依存関係を更新して、BoMプラットフォームをインポートします。また、各Firebaseライブラリの依存関係の行からバージョンを削除する必要があります。

  • Kotlin拡張ライブラリを使用する場合は、モジュール(アプリレベル)のGradleファイル(通常はapp/build.gradle )に追加された依存関係の行を変更して、代わりにktxバージョンのFirebaseライブラリを使用します。

Googleサービス—プラグインと設定ファイル

AndroidプロジェクトにFirebaseを追加する一環として、 google-servicesプラグインとgoogle-services.json構成ファイルをプロジェクトに追加する必要があります。

FirebaseコンソールManagement REST API 、またはFirebase CLIを介してAndroidプロジェクトにFirebaseを追加する場合は、プラグインと設定ファイルをプロジェクトに手動で追加する必要があります。ただし、 Firebase Assistantを使用している場合、これらのタスクはセットアップ中に自動的に実行されます。

Googleサービスプラグインと設定ファイルがどのように連携するかについては、 Androidのドキュメントにアクセスしてください。

Firebase Android BoM(部品表)

Firebase Android BoM(部品表)を使用すると、BoMのバージョンという1つのバージョンのみを指定することで、すべてのFirebaseライブラリバージョンを管理できます。

アプリでFirebaseBoMを使用すると、BoMはBoMのバージョンにマッピングされた個々のライブラリバージョンを自動的に取得します。個々のライブラリバージョンはすべて互換性があります。アプリでBoMのバージョンを更新すると、アプリで使用するすべてのFirebaseライブラリが、そのBoMバージョンにマップされたバージョンに更新されます。

特定のBoMバージョンにマッピングされているFirebaseライブラリのバージョンについては、そのBoMバージョンのリリースノートをご覧ください。あるBoMバージョンにマップされたライブラリバージョンを別のBoMバージョンと比較する必要がある場合は、以下の比較ウィジェットを使用してください。

GradleによるBoMプラットフォームのサポートの詳細をご覧ください。

Firebase Android BoMを使用して、モジュール(アプリレベル)のGradleファイル(通常はapp/build.gradle )で依存関係を宣言する方法は次のapp/build.gradleです。 BoMを使用する場合、依存関係行で個々のライブラリバージョンを指定しません。

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:28.0.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Firebase AndroidBoMの使用に関してよく寄せられる質問を次に示します。

FirebaseBoMバージョンを比較する

Kotlin拡張機能(KTX)ライブラリ

Firebase Kotlin拡張機能(KTX)ライブラリは、ベースのFirebase SDKの小さなコンパニオンであり、美しく慣用的なKotlinコードを記述できます。

アプリでKTXライブラリを使用するには、依存関係を変更して-ktxサフィックスを含めます。各KTXライブラリは自動的にベースライブラリに依存するため、アプリに両方の依存関係を含める必要はありません。

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:28.0.0')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

各KTXライブラリは、基本ライブラリの異なる構文拡張を提供します。たとえば、Analytics KTXライブラリを使用すると、イベントのログ記録が簡単になります。

(ベースライブラリを使用)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

(代わりにKTXライブラリを使用)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

FirebaseMLとAppIndexingを除き、すべてのFirebase製品はKTXライブラリを提供します。

まだの場合は、KTXライブラリのAPIリファレンスドキュメントを確認してください。

機能モジュールとPlay機能の提供

2021年5月(Firebase BoM v28.0.0)の時点で、Firebase Android SDKは、ベースアプリケーションモジュールとは別にインストールされる動的機能モジュールで使用できます。

動的機能モジュールのサポートを有効にするには、ベースモジュールのbuild.gradleファイルに次の依存関係を追加します。

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}

動的モジュールのサポートを追加したので、Firebase SDKの依存関係(Firebase BoMの有無にかかわらず)をアプリの機能モジュールに追加して、通常どおりに使用できます。

たとえば、アプリケーションがリアルタイムデータベースを使用して特定のリアルタイム機能を強化する場合、ベースモジュールではなく機能モジュールのbuild.gradle firebase-database依存関係を追加できます。これにより、ほとんどのユーザーのダウンロードサイズが小さくなります。

機能モジュールでFirebaseSDKを使用する場合は、次の注意事項に注意してください。

  • Crashlyticsは、動的機能モジュールで使用された場合、NDKクラッシュをキャプチャしません。

  • Analyticsfirst_openイベントに依存するfirst_openやFirebaseIn-App Messagingなどの製品は、動的機能モジュールで使用すると、このイベントを見逃す可能性があります。

  • Cloud FirestoreとAuthenticationを一緒に使用する場合は、常に両方を同じモジュールに含める必要があります。これが不可能な場合は、CloudFirestoreの前に認証が読み込まれていることを確認してください。そうしないと、一部のCloudFirestore操作の認証状態が正しくなくなる可能性があります。

機能モジュールとPlayFeature Deliveryの詳細については、Play FeatureDeliveryの概要をご覧ください。

GoogleサービスGradleプラグインvsGooglePlayサービスvsGooglePlayストア

Google、Firebase、Androidエコシステムのいくつかの部分には、同様の命名規則があります。それぞれについて簡単に説明します。

GoogleサービスGradleプラグイン
ビルド時に実行されるGradleプラグイン( com.google.gms.google-services )により、アプリがFirebaseおよびGoogleAPIにアクセスするための適切な構成になっていることを確認します
その名前にもかかわらず、このプラグインはGoogle Playサービスとは関係がなく(次のエントリを参照)、実行時のアプリの機能に影響を与えません。
このプラグインは、Firebaseの設定の一環としてアプリに追加したgoogle-services.jsonファイルも処理します。 GoogleサービスのGradleプラグインの詳細をご覧ください。
GooglePlayサービス
Androidデバイスで実行され、デバイス上のアプリにいくつかの一般的なGoogle API(GoogleマップやGoogleログインなど)を提供する非表示のバックグラウンドサービス
これらの一般的なAPIを単一のサービスに一元化することで、他のアプリのサイズを縮小し、デバイスがOSの更新なしで自動セキュリティ更新と機能拡張を受信できるようにします。 GooglePlayサービスの詳細をご覧ください。
Google Playストア
Androidデバイスにアプリ、映画、本などをダウンロードするためのストア
開発者は、GooglePlayコンソールを介してアプリの配布やリリースなどを管理します。デバイスにGooglePlayストアがある場合、そのデバイスはGoogle Playサービスも実行しています(前のエントリを参照)。開発者向けのGooglePlayストアの詳細をご覧ください。
GooglePlayゲームサービス
モバイルゲーム開発者向けの一連のAPI
Google Playゲームサービスの詳細と、FirebaseをGooglePlayゲームサービスプロジェクトと統合する方法をご覧ください。

Firebase AndroidSDKのオープンソースリソース

Firebaseはオープンソース開発をサポートしており、コミュニティの貢献とフィードバックを奨励しています。

Firebase Android SDK

ほとんどのFirebaseAndroid SDKは、公開されているFirebaseGitHubリポジトリでオープンソースライブラリとして開発されています。残りのプライベートに開発されたFirebaseライブラリをまもなくパブリックGitHubに移動するよう積極的に取り組んでいます!

クイックスタートサンプル

Firebaseは、Android上のほとんどのFirebaseAPIのクイックスタートサンプルのコレクションを維持しています。公開されているFirebaseGitHubクイックスタートリポジトリでこれらのクイックスタートを見つけてください。

各クイックスタートをAndroidStudioプロジェクトとして開き、モバイルデバイスまたは仮想デバイス(AVD)で実行できます。または、FirebaseSDKを使用するためのサンプルコードとしてこれらのクイックスタートを使用できます。

興味のある他のトピック