如果未曾使用一组有效的 Firebase 选项初始化您的应用,应用的新用户将会遇到严重问题。
Firebase 选项是一组参数。如果服务要成功与 Firebase 服务器 API 通信以及将客户端数据与 Firebase 项目和 Firebase 应用关联,则必须提供这些参数。Firebase 服务要求能够从在 Firebase 初始化期间创建的核心/通用库获得的有效 Firebase 选项。
不同的 Firebase 服务需要不同的选项才能正常运行,但是所有 Firebase 服务都需要以下 Firebase 选项:
- API 密钥 - 注意:此密钥并非 FCM 服务器密钥,请参阅 FCM 服务器密钥。
示例值:AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
- 项目 ID - 示例值:
myapp-project-123
。 - 应用 ID(“AppID”) - 应用的唯一标识符,其格式取决于平台:
- 对于 Android 设备:
mobilesdk_app_id
- 注意:这不是 Android 软件包名称。
示例值:1:1234567890:android:321abc456def7890
- 对于 iOS+:
GOOGLE_APP_ID
- 注意:这不是 Apple 软件包 ID。
示例值:1:1234567890:ios:321abc456def7890
- 对于 Android 设备:
排查 Android 应用的问题
为了提高安全性,Firebase SDK 于 2 月 27 日进行了更新,之后又使用 Firebase Installations API 的一个依赖项替换了 Firebase 实例 ID 服务。
为了将客户端数据与您的 Firebase 项目关联,Firebase 安装会强制要求使用必要的 Firebase 选项 API 密钥、项目 ID 和应用 ID,并且要确保其有效性。如需了解详情,请参阅 FirebaseOptions
。
Firebase Cloud Messaging (FCM) 提供了 Firebase 实例 ID (IID)
如果您应用的新用户遇到 FCM 问题,则可能是因为您在初始化 Firebase 时没有提供一组必需的 Firebase 选项。
您的应用使用的可能是不完整或错误的 google-services.json
配置文件;或者您的应用在没有一整套必需的 Firebase 选项的情况下以编程方式初始化 Firebase。
因此,当您发布使用更新后的 Firebase SDK 的应用后,安装了该应用的最终用户会在使用 Firebase Cloud Messaging 等 Firebase 服务时遇到故障。此外,向 Firebase 发送的请求反复失败可能会应用最终用户的体验降级。
我需要做什么?
要为您的应用修复运行异常的 Firebase 服务,请执行以下操作:
- 使用您项目的有效 API 密钥、有效的项目 ID 和有效的应用 ID(
mobilesdk_app_id
或“应用 ID”)初始化 Firebase,以更新您的应用。- 使用 Firebase 配置文件执行默认初始化过程:从 Firebase 控制台中下载您的 google-services.json 配置文件,然后替换应用中的现有文件。
- 使用
FirebaseOptions
对象以编程方式进行初始化:从 Firebase 控制台下载 google-services.json 配置文件以找到您的 API 密钥、项目 ID 和应用 ID,然后在应用的FirebaseOptions
对象中更新这些值。
- 将应用的新版本发布到 Play 商店。
排查 Apple 应用的问题
为了提高安全性,Firebase SDK 于 1 月 14 日进行了更新,之后又使用 Firebase Installations API 的一个依赖项替换了 Firebase 实例 ID 服务。
为了将客户端数据与您的 Firebase 项目关联,Firebase 安装会强制要求使用必要的 Firebase 选项 API 密钥、项目 ID 和应用 ID,并且要确保其有效性。如需了解详情,请参阅 FIROptions
。
Firebase Cloud Messaging (FCM) 提供了 Firebase 实例 ID (IID)
如果您应用的新用户遇到 FCM 问题,则可能是因为您在初始化 Firebase 时没有提供一组必需的 Firebase 选项。
您的应用使用的可能是不完整或错误的 GoogleService-Info.plist
配置文件;或者您的应用在没有一整套必需的 Firebase 选项的情况下以编程方式初始化 Firebase。
因此,当您发布使用更新后的 Firebase SDK 的应用后,安装了该应用的最终用户会在使用 Firebase Cloud Messaging 等 Firebase 服务时遇到故障。此外,向 Firebase 发送的请求反复失败可能会应用最终用户的体验降级。
我需要做什么?
要为您的应用修复运行异常的 Firebase 服务,请执行以下操作:
- 使用您项目的有效 API 密钥、有效的项目 ID 和有效的应用 ID(
GOOGLE_APP_ID
或“应用 ID”)初始化 Firebase,以更新您的应用。- 使用 Firebase 配置文件的默认初始化过程:从 Firebase 控制台下载 GoogleService-Info.plist 配置文件,然后替换应用中的现有文件。
- 使用
FIROptions
对象以编程方式进行初始化:从 Firebase 控制台下载 GoogleService-Info.plist 配置文件以找到您的 API 密钥、项目 ID 和应用 ID,然后在应用的FIROptions
对象中更新这些值。
- 将应用的新版本发布到 App Store。
FCM 服务器密钥
如果您的应用使用的是 FCM 服务器密钥而不是 Cloud API 密钥,那么当您使用此 FCM 服务器密钥通过 FCM 发送推送通知时,可能会导致出现安全漏洞。在这种情况下,我们强烈建议您修改服务器对发送到 FCM 的请求进行身份验证的方式。
请注意,FCM 服务器密钥(与 Firebase/Cloud API 密钥不同)不得包含在应用中,因为它们可能会被滥用于以项目名义发送推送通知。