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