先决条件
安装或更新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 项目中注册后,无法更改此 Firebase Android 应用程序。
(可选)输入其他应用信息:应用昵称和调试签名证书 SHA-1 。
应用昵称:仅在 Firebase 控制台中对您可见的内部便利标识符
调试签名证书 SHA-1 :Firebase 身份验证(使用Google 登录或电话号码登录时)和Firebase 动态链接需要SHA-1 哈希。
单击注册应用程序。
第 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 支持。否则,这些 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 产品。展开其部分,然后单击教程链接(例如,
Analytics > Log an Analytics event )。单击连接到 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 库:
参考文档( Kotlin+KTX | Java )
Firebase Android SDK GitHub 回购
请注意,使用Firebase Android BoM时,您在build.gradle
中声明 Firebase 库依赖项时无需指定各个库版本。
Kotlin+KTX
服务或产品 | 摇篮依赖 | 最新的 版本 | 添加分析? |
---|---|---|---|
Firebase Android 物料清单 (材料清单) | com.google.firebase:firebase-bom 最新的 Firebase BoM 版本包含每个 Firebase Android 库的最新版本。要了解哪些库版本映射到特定的 BoM 版本,请查看该 BoM 版本的发行说明。 | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.4.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 SafetyNet 提供商 | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
应用程序分发 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 | |
云端 Firestore | com.google.firebase:firebase-firestore-ktx | 24.4.2 | |
Firebase 客户端 SDK 的云函数 | com.google.firebase:firebase-functions-ktx | 20.2.2 | |
云消息 | com.google.firebase:firebase-消息-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 动态模块支持 | 16.0.0-beta03 | |
动态链接 | com.google.firebase:firebase-动态链接-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-安装-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:性能插件 | 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 | |
弃用的库 | |||
应用索引 | 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 边缘 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-自然语言-语言-id-模型 | 20.0.8 | |
Firebase ML:翻译模型 | com.google.firebase:firebase-ml-自然语言翻译模型 | 20.0.9 | |
Firebase ML:智能回复模型 | com.google.firebase:firebase-ml-自然语言-智能回复模型 | 20.0.8 |
Java
服务或产品 | 摇篮依赖 | 最新的 版本 | 添加分析? |
---|---|---|---|
Firebase Android 物料清单 (材料清单) | com.google.firebase:firebase-bom 最新的 Firebase BoM 版本包含每个 Firebase Android 库的最新版本。要了解哪些库版本映射到特定的 BoM 版本,请查看该 BoM 版本的发行说明。 | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.4.0 | |
分析 | com.google.firebase:firebase 分析 | 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 完整性提供商 | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
App Check SafetyNet 提供商 | com.google.firebase:firebase-appcheck-safetynet | 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 | |
云端 Firestore | com.google.firebase:firebase-firestore | 24.4.2 | |
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 动态模块支持 | 16.0.0-beta03 | |
动态链接 | com.google.firebase:firebase 动态链接 | 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:性能插件 | 1.4.2 | |
实时数据库 | com.google.firebase:firebase 数据库 | 20.1.0 | |
远程配置 | com.google.firebase:firebase 配置 | 21.2.1 | |
Google Play 服务插件 | com.google.gms:google 服务 | 4.3.15 | |
弃用的库 | |||
应用索引 | 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 边缘 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-自然语言-语言-id-模型 | 20.0.8 | |
Firebase ML:翻译模型 | com.google.firebase:firebase-ml-自然语言翻译模型 | 20.0.9 | |
Firebase ML:智能回复模型 | com.google.firebase:firebase-ml-自然语言-智能回复模型 | 20.0.8 |
下一步
将 Firebase 服务添加到您的应用:
使用Analytics深入了解用户行为。
使用Authentication设置用户身份验证流程。
使用Cloud Firestore或实时数据库存储用户信息等数据。
使用Cloud Storage 存储照片和视频等文件。
使用Cloud Functions触发在安全环境中运行的后端代码。
使用Cloud Messaging发送通知。
使用Crashlytics了解您的应用崩溃的时间和原因。
了解 Firebase:
访问了解 Firebase 项目以了解有关 Firebase 项目和项目最佳实践的更多信息。
如果您对 Firebase 和 Android 开发不熟悉或特定的概念有疑问,请访问了解有关 Android 和 Firebase的更多信息。
亲身体验Firebase Android Codelab 。
通过周末课程中的 Firebase了解更多信息。
准备启动您的应用程序:
- 在 Google Cloud Console 中为您的项目设置预算提醒。
- 监控 Firebase 控制台中的使用情况和计费仪表板,以全面了解您的项目在多个 Firebase 服务中的使用情况。
- 查看Firebase 启动清单。
在使用 Firebase 和您的 Android 项目时遇到问题?访问Android 故障排除和常见问题解答。
先决条件
安装或更新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 项目中注册后,无法更改此 Firebase Android 应用程序。
(可选)输入其他应用信息:应用昵称和调试签名证书 SHA-1 。
应用昵称:仅在 Firebase 控制台中对您可见的内部便利标识符
调试签名证书 SHA-1 :Firebase 身份验证(使用Google 登录或电话号码登录时)和Firebase 动态链接需要SHA-1 哈希。
单击注册应用程序。
第 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 支持。否则,这些 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 产品。展开其部分,然后单击教程链接(例如,
Analytics > Log an Analytics event )。单击连接到 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 库:
参考文档( Kotlin+KTX | Java )
Firebase Android SDK GitHub 回购
请注意,使用Firebase Android BoM时,您在build.gradle
中声明 Firebase 库依赖项时无需指定各个库版本。
Kotlin+KTX
服务或产品 | 摇篮依赖 | 最新的 版本 | 添加分析? |
---|---|---|---|
Firebase Android 物料清单 (材料清单) | com.google.firebase:firebase-bom 最新的 Firebase BoM 版本包含每个 Firebase Android 库的最新版本。要了解哪些库版本映射到特定的 BoM 版本,请查看该 BoM 版本的发行说明。 | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.4.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 SafetyNet 提供商 | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
应用程序分发 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 | |
云端 Firestore | com.google.firebase:firebase-firestore-ktx | 24.4.2 | |
Firebase 客户端 SDK 的云函数 | com.google.firebase:firebase-functions-ktx | 20.2.2 | |
云消息 | com.google.firebase:firebase-消息-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 动态模块支持 | 16.0.0-beta03 | |
动态链接 | com.google.firebase:firebase-动态链接-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-安装-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:性能插件 | 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 | |
弃用的库 | |||
应用索引 | 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: Barcode Scanning Model | 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: Natural Language APIs | com.google.firebase:firebase-ml-natural-language | 22.0.1 | |
Firebase ML: Language Identification Model | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: Translate Model | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: Smart Reply Model | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Java
Service or Product | Gradle dependency | Latest version | Add Analytics? |
---|---|---|---|
Firebase Android BoM (Bill of Materials) | com.google.firebase:firebase-bom The latest Firebase BoM version contains the latest versions of each Firebase Android library. To learn which library versions are mapped to a specific BoM version, review the release notes for that BoM version. | 31.2.0 | |
AdMob | com.google.android.gms:play-services-ads | 21.4.0 | |
Analytics | com.google.firebase:firebase-analytics | 21.2.0 | |
App Check custom provider | com.google.firebase:firebase-appcheck | 16.1.1 | |
App Check debug provider | com.google.firebase:firebase-appcheck-debug | 16.1.1 | |
App Check Play Integrity provider | com.google.firebase:firebase-appcheck-playintegrity | 16.1.1 | |
App Check SafetyNet provider | com.google.firebase:firebase-appcheck-safetynet | 16.1.1 | |
App Distribution | com.google.firebase:firebase-appdistribution | 16.0.0-beta05 | |
App Distribution API | com.google.firebase:firebase-appdistribution-api | 16.0.0-beta05 | |
App Distribution plugin | com.google.firebase:firebase-appdistribution-gradle | 3.2.0 | |
Authentication | com.google.firebase:firebase-auth | 21.1.0 | |
Cloud Firestore | com.google.firebase:firebase-firestore | 24.4.2 | |
Cloud Functions for Firebase Client SDK | com.google.firebase:firebase-functions | 20.2.2 | |
Cloud Messaging | com.google.firebase:firebase-messaging | 23.1.1 | |
Cloud Storage | com.google.firebase:firebase-storage | 20.1.0 | |
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.3 | |
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.3 | |
Crashlytics plugin | com.google.firebase:firebase-crashlytics-gradle | 2.9.2 | |
Dynamic feature module support | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |
Dynamic Links | com.google.firebase:firebase-dynamic-links | 21.1.0 | |
In-App Messaging | com.google.firebase:firebase-inappmessaging | 20.3.0 | (required) |
In-App Messaging Display | com.google.firebase:firebase-inappmessaging-display | 20.3.0 | (required) |
Firebase installations | com.google.firebase:firebase-installations | 17.1.0 | |
Firebase ML Model Downloader API | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |
Performance Monitoring | com.google.firebase:firebase-perf | 20.3.1 | |
Performance Monitoring plugin | com.google.firebase:perf-plugin | 1.4.2 | |
Realtime Database | com.google.firebase:firebase-database | 20.1.0 | |
Remote Config | com.google.firebase:firebase-config | 21.2.1 | |
Google Play services plugin | com.google.gms:google-services | 4.3.15 | |
Deprecated libraries | |||
App Indexing | com.google.firebase:firebase-appindexing | 20.0.0 | |
Firebase ML Custom Model APIs | com.google.firebase:firebase-ml-model-interpreter | 22.0.4 | |
Firebase ML Vision APIs | com.google.firebase:firebase-ml-vision | 24.1.0 | |
Firebase ML: Image Labeling Model | com.google.firebase:firebase-ml-vision-image-label-model | 20.0.2 | |
Firebase ML: Object Detection and Tracking Model | com.google.firebase:firebase-ml-vision-object-detection-model | 19.0.6 | |
Firebase ML: Face Detection Model | com.google.firebase:firebase-ml-vision-face-model | 20.0.2 | |
Firebase ML: Barcode Scanning Model | 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: Natural Language APIs | com.google.firebase:firebase-ml-natural-language | 22.0.1 | |
Firebase ML: Language Identification Model | com.google.firebase:firebase-ml-natural-language-language-id-model | 20.0.8 | |
Firebase ML: Translate Model | com.google.firebase:firebase-ml-natural-language-translate-model | 20.0.9 | |
Firebase ML: Smart Reply Model | com.google.firebase:firebase-ml-natural-language-smart-reply-model | 20.0.8 |
Next steps
Add Firebase services to your app:
Gain insights on user behavior with Analytics .
Set up a user authentication flow with Authentication .
Store data, like user information, with Cloud Firestore or Realtime Database .
Store files, like photos and videos, with Cloud Storage .
Trigger backend code that runs in a secure environment with Cloud Functions .
Send notifications with Cloud Messaging .
Find out when and why your app is crashing with Crashlytics .
Learn about Firebase:
Visit Understand Firebase Projects to learn more about Firebase projects and best practices for projects.
Visit Learn more about Android and Firebase if you have questions about concepts that are unfamiliar or specific to Firebase and Android development.
Explore sample Firebase apps .
Get hands-on experience with the Firebase Android Codelab .
Learn more with the Firebase in a Weekend course.
Prepare to launch your app:
- Set up budget alerts for your project in the Google Cloud Console.
- Monitor the Usage and billing dashboard in the Firebase console to get an overall picture of your project's usage across multiple Firebase services.
- Review the Firebase launch checklist .
Having trouble with Firebase and your Android project? Visit the Android troubleshooting & FAQ .