先决条件
安装或更新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.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 完整性提供商 | 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 | |
云端 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 | |
弃用的库 | |||
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-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.5.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 | |
应用分发 | 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 | |
弃用的库 | |||
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-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 故障排除和常见问题解答。