簡體   English   中英

Flutter - firebase_app_check 在發布模式下不工作,如何解決?

[英]Flutter - firebase_app_check not working in release mode, how fix it?

我在我的 flutter 應用程序中使用 firebase_app_check。 而我在Firebase用的是AppCheck,結果發現不太好設置,文檔中有很多“白點”。 所以按順序:

  1. 我在 Firebase 上啟用了 AppCheck(用於 starage 和 Firestore)。
  2. 我選擇“Play Integrity”(因此文檔推薦)作為證明提供者。
  3. 我在我的應用程序中添加了插件 firebase_app_check。 但它沒有用。 應用程序(在調試模式下)無法從 firestore 檢索數據。
  4. 然后我添加了“SafetyNet”作為證明提供者。 此應用程序運行后(調試模式)。
  5. 我將我的 appbundle 發布到 Google Play。 當我從 Google Play 下載應用程序時它不起作用(無法從 firestore 檢索數據)。 我對我的 appbundle 使用混淆。

為什么我的應用程序在發布模式下無法與 AppChecker 一起使用? 為什么“Play Integrity”不起作用? 我必須在平台級別添加代碼嗎? 根據這份文件 像這樣:

 val firebaseAppCheck = FirebaseAppCheck.getInstance()
   firebaseAppCheck.installAppCheckProviderFactory(
   SafetyNetAppCheckProviderFactory.getInstance()
 )

還是一個插件就夠了?

我該如何解決?

所以我終於想通了這一點,文檔非常分散,所以這里是一個總結:

警告:如果你想在啟用 AppCheck 的情況下針對你的 firebase 后端進行調試,你必須獲得一個調試令牌並每隔一小時左右將其添加到 Firebase 中。 沒有此令牌,只能調試物理 iOS 設備。 對於 iOS 模擬器,您必須首先通過 Xcode 運行您的應用程序並在那里獲取令牌。 這是 AppCheck imo 中的一個相當大的缺點。

Android 調試(設備和模擬器):

  1. 您必須按照此處所述使用androidProvider: AndroidProvider.debug
  2. 然后運行你的應用程序,它不會工作,在控制台中查看以下行: Enter this debug secret into the allow list in the Firebase Console for your project: 49367303-30f3-4913-a596-...如果你不這樣做看不到這一行:點擊熱重啟。
  3. 復制此代碼並打開 Firebase 控制台 > 應用程序檢查 > 應用程序 > 單擊 Android 應用程序后面的 3 個點 > 管理調試令牌,在此處添加您的令牌: 在此處輸入圖像描述

Android 制作:

對於生產,您首先必須按照1. 設置您的 Firebase 項目中的步驟進行操作。 注意特別是第 3 步非常模糊:在 Firebase 控制台的 App Check 部分中注冊您的應用以使用 Play Integrity 提供程序使用 App Check。 您需要提供應用簽名證書的 SHA-256 指紋。 他們的意思是:

  1. 在 google Play Console 下:Release > Setup > App Integrity > App Signing > copy the SHA-256 certificate fingerprint。

  2. 在 Firebase console > App Check > Apps > 點擊你的 Android app > Play integrity 添加這個指紋

  3. 現在創建一個新版本並將其上傳到 Play 商店。

iOS我按照以下文檔使它在 iOS 上工作:

  1. 1. 設置您的 Firebase 項目,點擊該文檔中的所有鏈接(將您帶到 apple.com 並返回)
  2. 要在 iOS 模擬器上進行調試,請遵循此文檔
  3. 如果您在 Xcode 中遇到構建錯誤(就像我一樣), 請在此處查看我的回答

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM