如果您在未具備一組有效的 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:
排解 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 服務異常終止的問題,請按照下列步驟操作:
- 使用專案的有效 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 執行個體 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 伺服器金鑰而非 Cloud API 金鑰,如果您使用同一個 FCM 伺服器金鑰透過 FCM 傳送推播通知,就可能產生安全漏洞。在這種情況下,我們強烈建議您修改伺服器驗證向 FCM 傳送要求的方式。
請注意,應用程式不得包含 FCM 伺服器金鑰 (與 Firebase/Cloud API 金鑰不同),因為系統可能會濫用這類金鑰,在專案名稱中傳送推播通知。