排解初始化選項的問題

如果您在未具備一組有效的 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」):應用程式的專屬 ID,格式取決於平台:
    • Android:mobilesdk_app_id - 注意:這不是 Android 套件名稱
      範例值:1:1234567890:android:321abc456def7890
    • iOS+:GOOGLE_APP_ID:注意:這不是 Apple 軟體包 ID
      範例值:1:1234567890:ios:321abc456def7890

排解 Android 應用程式問題

為提高安全性,Firebase SDK 會在 2 月 27 日和之後更新,以依附元件 Firebase Installations API 取代 Firebase 執行個體 ID 服務。

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 以更新應用程式。
    • 使用 Firebase 設定檔執行預設初始化程序:從 Firebase 控制台下載 google-services.json 設定檔,然後取代應用程式中的現有檔案。
    • 使用 FirebaseOptions 物件進行程式輔助初始化:從 Firebase 控制台下載 google-services.json 設定檔找出您的 API 金鑰、專案 ID 和應用程式 ID,然後在應用程式的 FirebaseOptions 物件中更新這些值。
  2. 在 Play 商店發布新版應用程式。

排解 Apple 應用程式問題

為提高安全性,Firebase SDK 會在 1 月 14 日更新,之後將 Firebase 執行個體 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 伺服器金鑰而非 Cloud API 金鑰,如果您使用同一個 FCM 伺服器金鑰透過 FCM 傳送推播通知,就可能產生安全漏洞。在這種情況下,我們強烈建議您修改伺服器驗證向 FCM 傳送要求的方式

請注意,應用程式不得包含 FCM 伺服器金鑰 (與 Firebase/Cloud API 金鑰不同),因為系統可能會濫用這類金鑰,在專案名稱中傳送推播通知。