先決條件
安裝或更新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 控制台添加 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 :Firebase 身份驗證(使用Google 登錄或電話號碼登錄時)和Firebase 動態鏈接需要SHA-1 哈希。
點擊註冊應用。
第 3 步:添加 Firebase 配置文件
將 Firebase Android 配置文件添加到您的應用中:
單擊下載 google-services.json以獲取您的 Firebase Android 配置文件 (
)。google-services.json 將您的配置文件移動到應用程序的模塊(應用程序級)目錄中。
Firebase 配置文件包含項目的唯一但非秘密標識符。要了解有關此配置文件的更多信息,請訪問了解 Firebase 項目。
您可以隨時再次下載Firebase 配置文件。
確保配置文件名沒有附加其他字符,例如
(2)
。
要在您的應用中啟用 Firebase 產品,請將google-services 插件添加到您的 Gradle 文件中。
在您的根級(項目級)Gradle 文件 (
build.gradle
) 中,添加規則以包含 Google Services Gradle 插件。檢查您是否也有 Google 的 Maven 存儲庫。buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following line: classpath 'com.google.gms:google-services:4.3.10' // Google Services plugin } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
在您的模塊(應用級)Gradle 文件(通常是
app/build.gradle
)中,應用 Google Services Gradle 插件:apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
第 4 步:將 Firebase SDK 添加到您的應用
使用Firebase Android BoM聲明要在應用中使用的Firebase 產品的依賴項。在你的模塊(應用級)Gradle 文件(通常是
app/build.gradle
)中聲明它們。啟用分析
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:30.0.2') // When using the BoM, you don't specify versions in Firebase library dependencies // Declare the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics' // Declare the dependencies for any other desired Firebase products // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:30.0.2') // When using the BoM, you don't specify versions in Firebase library dependencies // Declare the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics-ktx' // Declare the dependencies for any other desired Firebase products // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
通過使用Firebase Android BoM ,您的應用將始終使用兼容版本的 Firebase Android 庫。
未啟用分析
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:30.0.2') // When using the BoM, you don't specify versions in Firebase library dependencies // Declare the dependencies for the desired Firebase products // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:30.0.2') // When using the BoM, you don't specify versions in Firebase library dependencies // Declare the dependencies for the desired Firebase products // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
通過使用Firebase Android BoM ,您的應用將始終使用兼容版本的 Firebase Android 庫。
同步您的應用程序以確保所有依賴項都具有必要的版本。
使用 Android Gradle 插件 (AGP) v4.2 或更早版本的 Gradle 構建需要啟用 Java 8 支持。否則,這些 Android 項目在添加 Firebase SDK 時會出現構建失敗。
要修復此構建失敗,您可以遵循以下兩個選項之一:
- 將錯誤消息中列出的
compileOptions
添加到您的應用程序級build.gradle
文件中。 - 將您的 Android 項目的
minSdkVersion
增加到 26 或更高。
在此常見問題解答中了解有關此構建失敗的更多信息。
- 將錯誤消息中列出的
就是這樣!您可以直接跳過以查看推薦的後續步驟。
但是,如果您在設置時遇到問題,請訪問Android 故障排除和常見問題解答。
選項 2 :使用 Firebase 助手添加 Firebase
Firebase 助手將您的應用註冊到 Firebase 項目,並將必要的 Firebase 文件、插件和依賴項添加到您的 Android 項目中——所有這些都來自 Android Studio!
在 Android Studio 中打開您的 Android 項目,然後確保您使用的是最新版本的 Android Studio 和 Firebase 助手:
- Windows / Linux:幫助 > 檢查更新
- macOS: Android Studio > 檢查更新
打開 Firebase 助手:工具 > Firebase 。
在助手窗格中,選擇要添加到您的應用的 Firebase 產品。展開其部分,然後單擊教程鏈接(例如,
分析 > 記錄分析事件 )。單擊連接到 Firebase以將您的 Android 項目與 Firebase 連接。
此工作流程會使用您應用的包名稱自動創建一個新的 Firebase Android 應用。您可以在現有 Firebase 項目或新項目中創建這個新的 Firebase Android 應用。
以下是有關設置 Firebase 項目的一些提示:
查看我們將應用添加到 Firebase 項目的最佳做法,包括如何處理多個變體。
如果您創建一個新項目,我們強烈建議您為您的項目設置 Google Analytics,這使您能夠獲得使用許多 Firebase 產品的最佳體驗。
此工作流程還將您的 Firebase 項目的 Android 配置文件 (
) 添加到您應用的模塊(應用級)目錄中。google-services.json
點擊按鈕添加所需的 Firebase 產品(例如,
將分析添加到您的應用 )。
同步您的應用程序以確保所有依賴項都具有必要的版本。
在“助手”窗格中,按照所選 Firebase 產品的其餘設置說明進行操作。
通過 Firebase 助手添加任意數量的其他 Firebase 產品!
就是這樣!請務必查看推薦的後續步驟。
但是,如果您在設置時遇到問題,請訪問Android 故障排除和常見問題解答。
可用庫
本部分列出了 Android 支持的 Firebase 產品及其 Gradle 依賴項。詳細了解這些 Firebase Android 庫:
參考文檔( Java | Kotlin+KTX )
Firebase Android SDK GitHub 存儲庫
請注意,在使用Firebase Android BoM時,當您在build.gradle
中聲明 Firebase 庫依賴項時,不要指定單獨的庫版本。
Java
服務或產品 | Gradle 依賴 | 最新的 版本 | 添加分析? |
---|---|---|---|
Firebase Android 物料清單 (材料清單) | com.google.firebase:firebase-bom 最新的 Firebase BoM 版本包含每個 Firebase Android 庫的最新版本。要了解哪些庫版本映射到特定 BoM 版本,請查看該 BoM 版本的發行說明。 | 30.0.2 | |
AdMob | com.google.android.gms:play-services-ads | 20.6.0 | |
分析 | com.google.firebase:firebase 分析 | 21.0.0 | |
應用檢查自定義提供程序 | com.google.firebase:firebase-appcheck | 16.0.0 | |
應用檢查調試提供程序 | com.google.firebase:firebase-appcheck-debug | 16.0.0 | |
App Check Play Integrity 提供商 | com.google.firebase:firebase-appcheck-playintegrity | 16.0.0 | |
應用檢查 SafetyNet 提供商 | com.google.firebase:firebase-appcheck-safetynet | 16.0.0 | |
應用分發 | com.google.firebase:firebase-appdistribution | 16.0.0-beta02 | |
應用分發插件 | com.google.firebase:firebase-appdistribution-gradle | 3.0.1 | |
驗證 | com.google.firebase:firebase-auth | 21.0.4 | |
雲防火牆 | com.google.firebase:firebase-firestore | 24.1.2 | |
Firebase 客戶端 SDK 的雲函數 | com.google.firebase:firebase 函數 | 20.1.0 | |
雲消息傳遞 | com.google.firebase:firebase 消息傳遞 | 23.0.5 | |
雲儲存 | com.google.firebase:firebase 存儲 | 20.0.1 | |
崩潰分析器 | com.google.firebase:firebase-crashlytics | 18.2.10 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.2.10 | |
Crashlytics 插件 | com.google.firebase:firebase-crashlytics-gradle | 2.8.1 | |
動態功能模塊支持 | com.google.firebase:firebase 動態模塊支持 | 16.0.0-beta01 | |
動態鏈接 | com.google.firebase:firebase-動態鏈接 | 21.0.1 | |
應用內消息 | com.google.firebase:firebase-inappmessaging | 20.1.2 | (必需的) |
應用內消息顯示 | com.google.firebase:firebase-inappmessaging-display | 20.1.2 | (必需的) |
Firebase 安裝 | com.google.firebase:firebase 安裝 | 17.0.1 | |
Firebase ML 模型下載器 API | com.google.firebase:firebase-ml-modeldownloader | 24.0.3 | |
性能監控 | com.google.firebase:firebase 性能 | 20.0.6 | |
性能監控插件 | com.google.firebase:perf 插件 | 1.4.1 | |
實時數據庫 | com.google.firebase:firebase 數據庫 | 20.0.5 | |
遠程配置 | com.google.firebase:firebase 配置 | 21.1.0 | |
Google Play 服務插件 | com.google.gms:谷歌服務 | 4.3.10 | |
已棄用的庫 | |||
應用索引 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML 自定義模型 API | com.google.firebase:firebase-ml-model-interpreter | 22.0.4 | |
Firebase 機器學習視覺 API | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML:圖像標籤模型 | com.google.firebase:firebase-ml-vision-image-label-model | 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-model | 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-model | 20.0.8 | |
Firebase ML:翻譯模型 | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML:智能回复模型 | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Kotlin+KTX
服務或產品 | Gradle 依賴 | 最新的 版本 | 添加分析? |
---|---|---|---|
Firebase Android 物料清單 (材料清單) | com.google.firebase:firebase-bom 最新的 Firebase BoM 版本包含每個 Firebase Android 庫的最新版本。要了解哪些庫版本映射到特定 BoM 版本,請查看該 BoM 版本的發行說明。 | 30.0.2 | |
AdMob | com.google.android.gms:play-services-ads | 20.6.0 | |
分析 | com.google.firebase:firebase-analytics-ktx | 21.0.0 | |
應用檢查自定義提供程序 | com.google.firebase:firebase-appcheck | 16.0.0 | |
應用檢查調試提供程序 | com.google.firebase:firebase-appcheck-debug | 16.0.0 | |
應用檢查 SafetyNet 提供商 | com.google.firebase:firebase-appcheck-safetynet | 16.0.0 | |
應用分發 | com.google.firebase:firebase-appdistribution-ktx | 16.0.0-beta02 | |
應用分發插件 | com.google.firebase:firebase-appdistribution-gradle | 3.0.1 | |
驗證 | com.google.firebase:firebase-auth-ktx | 21.0.4 | |
雲防火牆 | com.google.firebase:firebase-firestore-ktx | 24.1.2 | |
Firebase 客戶端 SDK 的雲函數 | com.google.firebase:firebase-functions-ktx | 20.1.0 | |
雲消息傳遞 | com.google.firebase:firebase-messaging-ktx | 23.0.5 | |
雲儲存 | com.google.firebase:firebase-storage-ktx | 20.0.1 | |
崩潰分析器 | com.google.firebase:firebase-crashlytics-ktx | 18.2.10 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.2.10 | |
Crashlytics 插件 | com.google.firebase:firebase-crashlytics-gradle | 2.8.1 | |
動態功能模塊支持 | com.google.firebase:firebase 動態模塊支持 | 16.0.0-beta01 | |
動態鏈接 | com.google.firebase:firebase-動態鏈接-ktx | 21.0.1 | |
應用內消息 | com.google.firebase:firebase-inappmessaging-ktx | 20.1.2 | (必需的) |
應用內消息顯示 | com.google.firebase:firebase-inappmessaging-display-ktx | 20.1.2 | (必需的) |
Firebase 安裝 | com.google.firebase:firebase-installations-ktx | 17.0.1 | |
Firebase ML 模型下載器 API | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.0.3 | |
性能監控 | com.google.firebase:firebase-perf-ktx | 20.0.6 | |
性能監控插件 | com.google.firebase:perf 插件 | 1.4.1 | |
實時數據庫 | com.google.firebase:firebase-database-ktx | 20.0.5 | |
遠程配置 | com.google.firebase:firebase-config-ktx | 21.1.0 | |
Google Play 服務插件 | com.google.gms:谷歌服務 | 4.3.10 | |
已棄用的庫 | |||
應用索引 | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML 自定義模型 API | com.google.firebase:firebase-ml-model-interpreter | 22.0.4 | |
Firebase 機器學習視覺 API | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML:圖像標籤模型 | com.google.firebase:firebase-ml-vision-image-label-model | 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-model | 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-model | 20.0.8 | |
Firebase ML:翻譯模型 | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML:智能回复模型 | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
下一步
將 Firebase 服務添加到您的應用:
通過Analytics深入了解用戶行為。
使用Authentication設置用戶身份驗證流程。
使用Cloud Firestore或實時數據庫存儲用戶信息等數據。
使用Cloud Storage存儲文件,例如照片和視頻。
使用Cloud Functions觸發在安全環境中運行的後端代碼。
使用雲消息發送通知。
使用Crashlytics了解您的應用程序何時以及為何崩潰。
了解 Firebase:
請訪問了解 Firebase 項目,了解有關 Firebase 項目和項目最佳做法的更多信息。
如果您對不熟悉或特定於 Firebase 和 Android 開發的概念有疑問,請訪問了解有關 Android 和 Firebase的更多信息。
獲得Firebase Android Codelab的實踐經驗。
在周末課程中通過 Firebase了解更多信息。
準備啟動您的應用程序:
- 在 Google Cloud Console 中為您的項目設置預算提醒。
- 監控 Firebase 控制台中的使用情況和計費信息中心,以全面了解您的項目在多個 Firebase 服務中的使用情況。
- 查看Firebase 啟動清單。
Firebase 和您的 Android 項目遇到問題?訪問Android 故障排除和常見問題解答。