如果您在没有一组有效的 Firebase 选项的情况下初始化您的应用程序,您的应用程序的新用户将遇到严重的问题。
Firebase 选项是服务所需的一组参数,以便成功与 Firebase 服务器 API 通信并将客户端数据与您的 Firebase 项目和 Firebase 应用程序相关联。 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 Bundle ID 。
示例值:1:1234567890:ios:321abc456def7890
- 对于 Android:
对 Android 应用程序进行故障排除
为了提高安全性,Firebase SDK于 2 月 27 日更新,之后将 Firebase Instance ID 服务替换为对Firebase Installations API的依赖。
Firebase 安装强制 Firebase 选项 API 密钥、项目 ID 和应用程序 ID 的存在和有效性,以便将客户端数据与您的 Firebase 项目相关联。有关详细信息,请参阅FirebaseOptions
。
具有 Firebase 实例 ID (IID) 的 Firebase 云消息传递 (FCM)
如果您的应用的新用户在使用 FCM 时遇到问题,则可能是您在初始化 Firebase 时没有所需的一组 Firebase 选项。
您的应用程序可能使用了不完整或错误google-services.json
配置文件;或者您的应用正在以编程方式初始化 Firebase ,而没有全套所需的 Firebase 选项。
因此,在使用更新的 Firebase SDK 发布您的应用后,安装您的应用的最终用户将无法使用 Firebase 云消息传递等 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 Instance ID 服务替换为对Firebase Installations API的依赖。
Firebase 安装强制 Firebase 选项 API 密钥、项目 ID 和应用程序 ID 的存在和有效性,以便将客户端数据与您的 Firebase 项目相关联。有关详细信息,请参阅FIROptions
。
具有 Firebase 实例 ID (IID) 的 Firebase 云消息传递 (FCM)
如果您的应用的新用户在使用 FCM 时遇到问题,则可能是您在初始化 Firebase 时没有所需的一组 Firebase 选项。
您的应用程序可能使用了不完整或无效GoogleService-Info.plist
配置文件;或者您的应用正在以编程方式初始化 Firebase ,而没有全套所需的 Firebase 选项。
因此,在使用更新的 Firebase SDK 发布您的应用后,安装您的应用的最终用户将无法使用 Firebase 云消息传递等 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 服务器密钥而不是云 API 密钥,如果您使用相同的 FCM 服务器密钥通过 FCM 发送推送通知,这可能会导致安全漏洞。在这种情况下,我们强烈建议您修改服务器对向 FCM 发送请求进行身份验证的方式。
请注意,FCM 服务器密钥(与 Firebase/Cloud API 密钥不同)不得包含在应用程序中,因为它们可能被滥用以以您的项目的名义发送推送通知。