初始化选项疑难解答

如果您在没有一组有效的 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 应用程序进行故障排除

为了提高安全性,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 服务:

  1. 通过使用项目的有效 API 密钥、有效的项目 ID 和有效的应用程序 ID( mobilesdk_app_id或“应用程序 ID”)初始化 Firebase 来更新您的应用程序。
  2. 将您的应用的新版本发布到 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 服务:

  1. 通过使用项目的有效 API 密钥、有效的项目 ID 和有效的应用程序 ID( GOOGLE_APP_ID或“应用程序 ID”)初始化 Firebase 来更新您的应用程序。
    1. 使用 Firebase 配置文件的默认初始化过程:从 Firebase 控制台下载您的 GoogleService-Info.plist 配置文件,然后替换您应用中的现有文件。
    2. 使用FIROptions对象进行编程初始化:从 Firebase 控制台下载您的 GoogleService-Info.plist 配置文件以查找您的 API 密钥、项目 ID 和应用程序 ID,然后在您的应用的FIROptions对象中更新这些值。
  2. 将您的应用程序的新版本发布到 App Store。

FCM 服务器密钥

如果您的应用程序使用FCM 服务器密钥而不是云 API 密钥,如果您使用相同的 FCM 服务器密钥通过 FCM 发送推送通知,这可能会导致安全漏洞。在这种情况下,我们强烈建议您修改服务器对向 FCM 发送请求进行身份验证的方式

请注意,FCM 服务器密钥(与 Firebase/Cloud API 密钥不同)不得包含在应用程序中,因为它们可能被滥用以以您的项目的名义发送推送通知。