初始化選項疑難解答

如果您在沒有一組有效的 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 密鑰不同)不得包含在應用程序中,因為它們可能被濫用以以您的項目的名義發送推送通知。