前提条件
Android Studioを最新バージョンにインストールまたは更新します。
プロジェクトが次の要件を満たしていることを確認してください。
- API レベル 19 (KitKat) 以上を対象としています
- Android 4.4 以降を使用
- 次のバージョン要件を満たすことを含むJetpack (AndroidX)を使用します。
-
com.android.tools.build:gradle
v3.2.1 以降 compileSdkVersion
28以降
-
物理デバイスをセットアップするか、エミュレーターを使用してアプリを実行します。
Google Play サービスに依存する Firebase SDK では、デバイスまたはエミュレータに Google Play サービスがインストールされている必要があることに注意してください。Google アカウントを使用して Firebase にサインインします。
Android プロジェクトをまだ持っておらず、Firebase 製品を試してみたいだけの場合は、クイックスタート サンプルのいずれかをダウンロードできます。
次のいずれかのオプションを使用して、Android アプリを Firebase に接続できます。
- オプション 1 : (推奨) Firebase コンソールのセットアップ ワークフローを使用します。
- オプション 2 : Android Studio Firebase Assistant を使用します (追加の構成が必要になる場合があります)。
オプション 1 : Firebase コンソールを使用して Firebase を追加する
Firebase をアプリに追加するには、 Firebase コンソールと開いている Android プロジェクトの両方でタスクを実行する必要があります (たとえば、コンソールから Firebase 構成ファイルをダウンロードして、それらを Android プロジェクトに移動します)。
ステップ 1 : Firebase プロジェクトを作成する
Firebase を Android アプリに追加する前に、Firebase プロジェクトを作成して Android アプリに接続する必要があります。 Firebase プロジェクトについて詳しくは、 Firebase プロジェクトを理解するをご覧ください。
ステップ 2 : アプリを Firebase に登録する
Android アプリで Firebase を使用するには、アプリを Firebase プロジェクトに登録する必要があります。アプリを登録することは、多くの場合、アプリをプロジェクトに「追加する」と呼ばれます。
Firebase コンソールに移動します。
プロジェクトの概要ページの中央にあるAndroidアイコン (
) または [アプリの追加] をクリックして、セットアップ ワークフローを起動します。[ Android パッケージ名] フィールドにアプリのパッケージ名を入力します。
パッケージ名は、デバイスと Google Play ストアでアプリを一意に識別します。
パッケージ名は、アプリケーション IDと呼ばれることがよくあります。
モジュール (アプリ レベル) の Gradle ファイルでアプリのパッケージ名を見つけます。通常は
app/build.gradle
(パッケージ名の例:com.yourcompany.yourproject
) です。パッケージ名の値は大文字と小文字が区別されることに注意してください。この Firebase Android アプリを Firebase プロジェクトに登録した後は、この値を変更することはできません。
(オプション)その他のアプリ情報を入力します:アプリのニックネームとデバッグ署名証明書 SHA-1 。
アプリのニックネーム: Firebase コンソールでのみ表示される、内部の便利な識別子
デバッグ署名証明書 SHA-1 : SHA-1 ハッシュは、Firebase Authentication ( Google サインインまたは電話番号サインインを使用する場合) とFirebase Dynamic Linksで必要です。
[アプリを登録]をクリックします。
ステップ 3 : Firebase 構成ファイルを追加する
Firebase Android 構成ファイル (
) をダウンロードしてアプリに追加します。google-services.json [ google-services.json をダウンロード] をクリックして、Firebase Android 構成ファイルを取得します。
構成ファイルをアプリのモジュール (アプリ レベル)ルート ディレクトリに移動します。
Firebase 構成ファイルには、プロジェクトの一意であるが秘密ではない識別子が含まれています。この構成ファイルの詳細については、 Firebase プロジェクトを理解するをご覧ください。
Firebase 構成ファイルはいつでも再ダウンロードできます。
構成ファイル名に
(2)
のような追加の文字が追加されていないことを確認してください。
構成ファイルの値に Firebase SDK がアクセスできるようにするには、 Google サービス Gradle プラグイン(google-services.json google-services
) が必要です。ルート レベル (プロジェクト レベル) のGradle ファイル (
<project>/build.gradle
) で、Google サービス プラグインをビルドスクリプトの依存関係として追加します。buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15' } } allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } }
モジュール (アプリ レベル) のGradle ファイル (通常は
<project>/<app-module>/build.gradle
) に、Google サービス プラグインを追加します。plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' ... }
ステップ 4 : アプリに Firebase SDK を追加する
モジュール (アプリ レベル) の Gradle ファイル(通常は
<project>/<app-module>/build.gradle
) で、アプリで使用するFirebase プロダクトの依存関係を追加します。ライブラリのバージョン管理には、 Firebase Android BoMを使用することをお勧めします。分析が有効
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:31.2.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics-ktx' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:31.2.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Firebase Android BoMを使用すると、アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。
分析が有効になっていません
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:31.2.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:31.2.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Firebase Android BoMを使用すると、アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。
使用する製品の依存関係を追加したら、Android プロジェクトを Gradle ファイルと同期します。
Android Gradle プラグイン (AGP) v4.2 以前を使用する Gradle ビルドでは、Java 8 サポートを有効にする必要があります。そうしないと、Firebase SDK を追加するときに、これらの Android プロジェクトでビルド エラーが発生します。
このビルドの失敗を修正するには、次の 2 つのオプションのいずれかに従います。
- エラー メッセージに記載されている
compileOptions
をアプリ レベルのbuild.gradle
ファイルに追加します。 - Android プロジェクトの
minSdkVersion
を 26 以上に増やします。
この FAQで、このビルドの失敗について詳しく学んでください。
- エラー メッセージに記載されている
それでおしまい!スキップして、推奨される次のステップを確認できます。
ただし、セットアップに問題がある場合は、 Android のトラブルシューティングと FAQにアクセスしてください。
オプション 2 : Firebase Assistant を使用して Firebase を追加する
Firebase Assistantはアプリを Firebase プロジェクトに登録し、必要な Firebase ファイル、プラグイン、および依存関係を Android プロジェクトに追加します。これらはすべて Android Studio 内から実行できます。
Android プロジェクトを Android Studio で開き、最新バージョンの Android Studio と Firebase Assistant を使用していることを確認します。
- Windows / Linux:ヘルプ > アップデートの確認
- macOS: Android Studio > アップデートの確認
Firebase Assistant を開きます: [ツール] > [Firebase ] 。
[アシスタント] ペインで、アプリに追加する Firebase プロダクトを選択します。そのセクションを展開し、チュートリアルのリンクをクリックします (たとえば、
Analytics > Log an Analytics event )。Connect to Firebaseをクリックして、Android プロジェクトを Firebase に接続します。
このワークフローは、アプリのパッケージ名を使用して新しい Firebase Android アプリを自動的に作成します。この新しい Firebase Android アプリは、既存の Firebase プロジェクトまたは新しいプロジェクトで作成できます。
Firebase プロジェクトの設定に関するヒントを次に示します。
複数のバリアントを処理する方法など、Firebase プロジェクトにアプリを追加するためのベスト プラクティスを確認してください。
新しいプロジェクトを作成する場合は、プロジェクトに Google アナリティクスを設定することを強くお勧めします。これにより、多くの Firebase プロダクトを使用して最適なエクスペリエンスを得ることができます。
このワークフローでは、Firebase プロジェクトの Android 構成ファイル (
) も、アプリのモジュール (アプリ レベル) ディレクトリに追加されます。google-services.json
ボタンをクリックして、目的の Firebase プロダクトを追加します (例:
Add Analytics to your app )。
アプリを同期して、すべての依存関係に必要なバージョンがあることを確認します。
[アシスタント] ペインで、選択した Firebase 製品の残りのセットアップ手順に従います。
Firebase Assistant を使用して、他の Firebase プロダクトを好きなだけ追加してください。
それでおしまい!推奨される次のステップを確認してください。
ただし、セットアップに問題がある場合は、 Android のトラブルシューティングと FAQにアクセスしてください。
利用可能なライブラリ
このセクションでは、Android でサポートされている Firebase プロダクトとその Gradle 依存関係を一覧表示します。これらの Firebase Android ライブラリの詳細をご覧ください。
リファレンス ドキュメント ( Kotlin+KTX | Java )
Firebase Android SDK GitHub リポジトリ
Firebase Android BoMを使用する場合、 build.gradle
で Firebase ライブラリの依存関係を宣言するときに、個々のライブラリ バージョンを指定しないことに注意してください。
Kotlin+KTX
サービスまたは製品 | Gradle の依存関係 | 最新 バージョン | アナリティクスを追加しますか? |
---|---|---|---|
Firebase Android BoM (部品表) | com.google.firebase:firebase-bom 最新の Firebase BoM バージョンには、各 Firebase Android ライブラリの最新バージョンが含まれています。どのライブラリ バージョンが特定の BoM バージョンにマップされているかを確認するには、その BoM バージョンのリリース ノートを確認してください。 | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.5.0 | |
分析 | com.google.firebase:firebase-analytics-ktx | 21.2.0 | |
App Check カスタム プロバイダ | com.google.firebase:firebase-appcheck-ktx | 16.1.1 | |
App Check デバッグ プロバイダ | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
App Check Play Integrity プロバイダー | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
アプリの配布 | com.google.firebase:firebase-appdistribution | 16.0.0-beta05 | |
アプリ配布 API | com.google.firebase:firebase-appdistribution-api-ktx | 16.0.0-beta05 | |
アプリ配布プラグイン | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
認証 | com.google.firebase:firebase-auth-ktx | 21.1.0 | |
クラウド ファイアストア | com.google.firebase:firebase-firestore-ktx | 24.4.2 | |
Cloud Functions for Firebase クライアント SDK | com.google.firebase:firebase-functions-ktx | 20.2.2 | |
クラウド メッセージング | com.google.firebase:firebase-messaging-ktx | 23.1.1 | |
クラウドストレージ | com.google.firebase:firebase-storage-ktx | 20.1.0 | |
クラッシュリティクス | com.google.firebase:firebase-crashlytics-ktx | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics プラグイン | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
動的機能モジュールのサポート | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |
動的リンク | com.google.firebase:firebase-dynamic-links-ktx | 21.1.0 | |
アプリ内メッセージ | com.google.firebase:firebase-inappmessaging-ktx | 20.3.0 | (必要) |
アプリ内メッセージの表示 | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.0 | (必要) |
Firebase のインストール | com.google.firebase:firebase-installations-ktx | 17.1.0 | |
Firebase ML モデル ダウンローダー API | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.1.2 | |
パフォーマンス監視 | com.google.firebase:firebase-perf-ktx | 20.3.1 | |
パフォーマンス監視プラグイン | com.google.firebase:perf プラグイン | 1.4.2 | |
リアルタイム データベース | com.google.firebase:firebase-データベース-ktx | 20.1.0 | |
リモート設定 | com.google.firebase:firebase-config-ktx | 21.2.1 | |
Google Play サービス プラグイン | com.google.gms:google サービス | 4.3.15 | |
非推奨のライブラリ | |||
App Check SafetyNet プロバイダー | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
アプリのインデックス作成 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML カスタム モデル API | com.google.firebase:firebase-ml-モデル-インタープリター | 22.0.4 | |
Firebase ML Vision API | com.google.firebase:firebase-ml-ビジョン | 24.1.0 | |
Firebase ML: 画像のラベル付けモデル | com.google.firebase:firebase-ml-vision-image-label-モデル | 20.0.2 | |
Firebase ML: オブジェクトの検出と追跡モデル | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: 顔検出モデル | com.google.firebase:firebase-ml-vision-face-モデル | 20.0.2 | |
Firebase ML: バーコード スキャン モデル | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML Vision Edge API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: 自然言語 API | com.google.firebase:firebase-ml-自然言語 | 22.0.1 | |
Firebase ML: 言語識別モデル | com.google.firebase:firebase-ml-natural-language-language-id-モデル | 20.0.8 | |
Firebase ML: モデルの翻訳 | com.google.firebase:firebase-ml-natural-language-translate-モデル | 20.0.9 | |
Firebase ML: スマート リプライ モデル | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Java
サービスまたは製品 | Gradle の依存関係 | 最新 バージョン | アナリティクスを追加しますか? |
---|---|---|---|
Firebase Android BoM (部品表) | com.google.firebase:firebase-bom 最新の Firebase BoM バージョンには、各 Firebase Android ライブラリの最新バージョンが含まれています。どのライブラリ バージョンが特定の BoM バージョンにマップされているかを確認するには、その BoM バージョンのリリース ノートを確認してください。 | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.5.0 | |
分析 | com.google.firebase:firebase-analytics | 21.2.0 | |
App Check カスタム プロバイダ | com.google.firebase:firebase-appcheck | 16.1.1 | |
App Check デバッグ プロバイダ | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
App Check Play Integrity プロバイダー | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
アプリの配布 | com.google.firebase:firebase-appdistribution | 16.0.0-beta05 | |
アプリ配布 API | com.google.firebase:firebase-appdistribution-api | 16.0.0-beta05 | |
アプリ配布プラグイン | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
認証 | com.google.firebase:firebase-auth | 21.1.0 | |
クラウド ファイアストア | com.google.firebase:firebase-firestore | 24.4.2 | |
Cloud Functions for Firebase クライアント SDK | com.google.firebase:firebase 関数 | 20.2.2 | |
クラウド メッセージング | com.google.firebase:firebase メッセージング | 23.1.1 | |
クラウドストレージ | com.google.firebase:firebase ストレージ | 20.1.0 | |
クラッシュリティクス | com.google.firebase:firebase-crashlytics | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics プラグイン | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
動的機能モジュールのサポート | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |
動的リンク | com.google.firebase:firebase-dynamic-links | 21.1.0 | |
アプリ内メッセージ | com.google.firebase:firebase-inappmessaging | 20.3.0 | (必要) |
アプリ内メッセージの表示 | com.google.firebase:firebase-inappmessaging-display | 20.3.0 | (必要) |
Firebase のインストール | com.google.firebase:firebase インストール | 17.1.0 | |
Firebase ML モデル ダウンローダー API | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |
パフォーマンス監視 | com.google.firebase:firebase-perf | 20.3.1 | |
パフォーマンス監視プラグイン | com.google.firebase:perf プラグイン | 1.4.2 | |
リアルタイム データベース | com.google.firebase:firebase-データベース | 20.1.0 | |
リモート設定 | com.google.firebase:firebase-config | 21.2.1 | |
Google Play サービス プラグイン | com.google.gms:google サービス | 4.3.15 | |
非推奨のライブラリ | |||
App Check SafetyNet プロバイダー | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
アプリのインデックス作成 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML カスタム モデル API | com.google.firebase:firebase-ml-モデル-インタープリター | 22.0.4 | |
Firebase ML Vision API | com.google.firebase:firebase-ml-ビジョン | 24.1.0 | |
Firebase ML: 画像のラベル付けモデル | com.google.firebase:firebase-ml-vision-image-label-モデル | 20.0.2 | |
Firebase ML: オブジェクトの検出と追跡モデル | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: 顔検出モデル | com.google.firebase:firebase-ml-vision-face-モデル | 20.0.2 | |
Firebase ML: バーコード スキャン モデル | com.google.firebase:firebase-ml-vision-barcode-model | 16.1.2 | |
Firebase ML: AutoML Vision Edge API | com.google.firebase:firebase-ml-vision-automl | 18.0.6 | |
Firebase ML: 自然言語 API | com.google.firebase:firebase-ml-自然言語 | 22.0.1 | |
Firebase ML: 言語識別モデル | com.google.firebase:firebase-ml-natural-language-language-id-モデル | 20.0.8 | |
Firebase ML: モデルの翻訳 | com.google.firebase:firebase-ml-natural-language-translate-モデル | 20.0.9 | |
Firebase ML: スマート リプライ モデル | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
次のステップ
アプリに Firebase サービスを追加します。
Analyticsを使用して、ユーザーの行動に関する洞察を得る。
Authenticationを使用してユーザー認証フローを設定します。
Cloud FirestoreまたはRealtime Databaseを使用して、ユーザー情報などのデータを保存します。
写真や動画などのファイルをCloud Storageに保存します。
Cloud Functionsを使用して安全な環境で実行されるバックエンド コードをトリガーします。
Cloud Messagingで通知を送信します。
Crashlyticsを使用して、アプリがクラッシュする時期と理由を調べます。
Firebase について学ぶ:
Firebase プロジェクトとプロジェクトのベスト プラクティスについて詳しくは、 Firebase プロジェクトを理解するをご覧ください。
Firebase と Android の開発になじみのない、または固有の概念について質問がある場合は、Android と Firebase の詳細をご覧ください。
サンプルの Firebase アプリを調べる。
Firebase Android Codelabで実践的な体験をしてください。
週末コースで Firebaseの詳細をご覧ください。
アプリを起動する準備をします。
- Google Cloud Console でプロジェクトの予算アラートを設定します。
- Firebase コンソールで使用状況と請求のダッシュボードを監視して、複数の Firebase サービスにわたるプロジェクトの使用状況の全体像を把握します。
- Firebase の起動チェックリストを確認します。
Firebase と Android プロジェクトに問題がありますか? Android のトラブルシューティングと FAQにアクセスしてください。