此頁面提供有關使用 App Distribution 分發和測試應用程序的常見問題解答和故障排除幫助。
分發應用程序
使用以下提示來解決向測試人員分發應用程序時可能遇到的問題。
上傳應用程序時,您可能會遇到以下錯誤:
“我們找不到應用<app-id>
的聯繫電子郵件。請訪問 Firebase 控制台中的 App Distribution 進行設置。”
在 Firebase 控制台中設置聯繫電子郵件(如果有)。如果問題仍然存在,請聯繫Firebase 支持。
如果您在配置過程中反复遇到錯誤 400、409 或 500,請聯繫Firebase 支持。向支持提供您的 Firebase 項目編號和應用標識符。
驗證 APK 的大小。所有二進製文件的最大文件大小限制為 2048 MiB,略高於 2 GB。
如果 APK 大小在文件大小限制內並且可以重現,請聯繫Firebase 支持。
使用以下命令驗證 APK 是否已簽名:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
分發 Android 應用程序包 (AAB)
當您將 AAB 上傳到 App Distribution 時,Google Play 會自動使用測試應用簽名密鑰證書對生成的 APK 進行簽名。出現提示時,如果您想繼續使用 API 提供商的第三方服務,則必須向 API 提供商註冊您的應用程序。簽名後,您可以在 Firebase 控制台中查看應用的測試證書。
您上傳到 App Distribution 的 AAB 版本不會出現在您的 Google Play 開發者帳戶中(這包括 App Bundle Explorer 和內部應用程序共享)。
如果 Firebase Android 應用與 Google Play 取消鏈接,則會發生以下情況:
您將無法將新的應用程序包上傳到 App Distribution 並通過 App Distribution 與 Google Play 集成將其導出到 Google Play。
現有版本將繼續在 Firebase App Distribution 儀表板和測試人員中可用。
之前在 Firebase 和 Google Play 之間導出的任何數據仍可在這兩種產品中訪問。
要通過 App Distribution 分發 Android App Bundle (AAB) 並將上傳的 AAB 自動鏈接到您的 Firebase 項目和 Google Play 開發者帳戶,請確保您滿足以下要求:
您的 Google Play 開發者帳戶具有以下訪問級別之一:所有者或管理員。
對於您的 Firebase 項目,您具有以下角色之一: Owner或Firebase Admin 。
您的應用已在 Firebase 和您的 Google Play 開發者帳戶中註冊。這意味著您同時擁有 Firebase Android 應用和 Google Play 應用。
Google Play 中的應用程序和 Firebase Android 應用程序均使用相同的包名稱註冊。
Google Play 中的應用程序在應用程序儀表板上設置,並分發到 Google Play 軌道之一(內部測試、封閉測試、開放測試或生產)。
該應用在 Google Play 中的審核已完成並已發布。如果應用程序狀態列顯示以下狀態之一,則您的應用程序已發布:內部測試(不是草稿內部測試)、封閉測試、開放測試或生產。
如果您上傳的應用以前不符合上面列出的鏈接條件,但現在滿足了,您可以重新嘗試將您的 Firebase Android 應用鏈接到 Google Play 。
安裝和測試應用程序
使用以下提示來解決測試人員在安裝和測試您的應用程序時可能遇到的問題。
當用戶創建 Google 帳戶時,他們會自動收到 Gmail 地址。
如果測試人員沒有 Google Workspace 或 Gmail 地址,或者他們更願意使用其他電子郵件地址登錄,請要求測試人員將非 Gmail 電子郵件地址鏈接到該帳號並使用該電子郵件地址登錄。
選擇備用電子郵件時,測試人員必須遵循以下準則:
- 不要使用 Gmail 地址。
- 請勿使用已鏈接至其他 Google 帳戶的電子郵件地址。
- 使用此電子郵件地址登錄時請記住使用您的 Google 帳戶密碼。
有關詳細信息,請參閱使用其他電子郵件地址登錄您的 Google 帳戶。
如果測試人員使用與發送邀請的電子郵件地址不同的電子郵件地址接受電子郵件邀請,則測試人員可能無法看到正確的應用程序或版本。
開發人員發送邀請並添加到新版本的電子郵件(電子郵件 A)可以與測試人員用於接受邀請的電子郵件(電子郵件 B)不同。這會在幕後創建一個鏈接。每當電子郵件 A 添加到新版本時,實際上是電子郵件 B 獲得訪問權限。
如果測試人員使用不同的電子郵件地址接受電子郵件邀請,請按照以下步驟解決問題:
從 Firebase 控制台的“應用程序分發”頁面的“測試人員和組”選項卡的“查看所有測試人員”部分刪除測試人員。現有邀請將被刪除。
重新邀請測試人員測試您的應用程序。測試人員應該會收到一封邀請電子郵件。
確保測試人員使用相同的電子郵件地址接受邀請。
如果發生以下情況之一,測試人員可能不會收到電子郵件通知:
電子郵件通知將發送到垃圾郵件文件夾。
電子郵件過濾器已設置。
邀請已發送到一個電子郵件帳戶,但測試人員使用另一個電子郵件帳戶接受了邀請。測試人員會收到最初發送邀請的電子郵件帳戶的新發布電子郵件。
測試人員之前曾受到邀請,但沒有接受最初的邀請。如果測試人員被添加到後續版本中,App Distribution 不會自動向該測試人員發送發布通知,因為該測試人員未接受初始邀請。
解決方案1
要求測試人員檢查他們的垃圾郵件文件夾以及他們在電子郵件服務中設置的任何電子郵件過濾器。
如果測試人員取消訂閱電子郵件,請要求測試人員執行以下操作:
- 查找測試人員之前從應用程序收到的電子郵件。
- 單擊底部的管理電子郵件設置,然後單擊允許電子郵件重新訂閱。
解決方案2
如果測試人員不需要電子郵件通知,但希望能夠接受應用程序邀請,他們可以直接在 App Tester 應用程序中查看待處理的應用程序邀請(下載說明)。
解決方案3
從 Firebase 控制台的“應用程序分發”頁面的“測試人員和組”選項卡的“查看所有測試人員”部分刪除測試人員。此操作會刪除現有邀請。
重新邀請測試人員測試您的應用程序。測試人員應該會收到一封邀請電子郵件。確保測試人員使用發送邀請的同一電子郵件地址接受邀請。
如果測試人員下載並安裝了某個版本,但應用程序詳細信息用戶界面未顯示該應用程序已安裝,則這是一個已知問題。在某些情況下,Firebase 應用中的捆綁包 ID 與 APK 的捆綁包 ID 不匹配。
驗證 APK 的捆綁包 ID 是否與您用於上傳分配的 Firebase 應用程序的捆綁包 ID 匹配。
如果您正在運行的應用程序或瀏覽器尚未獲得安裝 Google Play 之外的應用程序的權限,則會出現 Android 警報。授予權限:
Android 版本 8 或更高版本:在“設置”應用程序中,點擊“允許來自此來源” 。
Android 版本 7 或更早版本:在“設置”應用程序中,點擊“安全”並選擇“未知來源” 。出現提示時,點擊確定>信任。
如果測試 APK 無法在測試人員的設備上安裝:
- 驗證新版本中的證書是否與測試人員設備上安裝的版本中的證書匹配。 Android 系統僅在證書匹配的情況下允許應用程序更新。要了解更多信息,請參閱簽名註意事項。
- 確保應用程序支持測試設備的操作系統版本(檢查
minSdkVersion
)。
如果 App Tester 應用阻止您登錄並將您重定向回登錄屏幕,則您可能使用的是包含限制設置的 Google Workspace(以前稱為 GSuite)。
要刪除您的限制設置:
當正在安裝的應用程序與設備上已安裝的應用程序衝突時,可能會發生此錯誤。例如,它可能是具有相同自定義權限或ContentProvider name的同一應用程序的不同變體。
您可以要求測試人員在遇到問題後立即收集錯誤報告,並檢查報告以獲取有關原因的更多信息。測試人員必須先刪除所有衝突的應用程序,然後才能安裝新應用程序。
當您遇到 403 錯誤時,這意味著您使用的帳戶沒有安裝和測試應用程序的權限。訪問權限由您在 Google Workspace 中帳號所在網域的管理員決定。
如果您認為自己應該擁有安裝和測試應用的權限,請要求您的 Google Workspace 帳號管理員更改您的帳號設置。您的管理員應遵循管理對不受單獨控制的服務的訪問中的說明。
如果您有多個帳戶,請嘗試使用不受安裝和測試應用程序限制的其他帳戶登錄。
如果您是首次測試人員,請參閱設置為測試人員。
如果您是現有的 App Distribution 測試人員,並且您獲得了新的 Android 設備進行測試,則無需再次執行整個新測試人員流程,請按照以下步驟操作:
在 Android 設備上導航至appdistribution.firebase.google.com 。
使用您現有的測試人員帳戶登錄,然後單擊屏幕底部的“下載 App Tester”按鈕以安裝 Android App Tester 應用程序。
使用 App Distribution Android SDK 啟用測試器功能
使用以下提示來解決涉及啟用應用內新建警報或使用 App Distribution Android SDK 提交應用內反饋的問題。
如果您已經在應用中設置了 App Distribution Android SDK 以支持應用內反饋,並且您的測試人員無法提交反饋,請按照以下步驟操作:
在您的應用程序中為 App Distribution Android SDK 啟用詳細日誌記錄:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
通過過濾“FirebaseAppDistribution”來檢查應用日誌中的錯誤消息。
確認測試人員有權訪問已安裝的版本:
如果日誌指示“測試人員無權訪問此資源”,則您的測試人員可能尚未受邀訪問該應用程序,或者可能無權訪問該版本。
在 Firebase 控制台的應用程序分發儀表板中,找到測試人員設備上運行的確切版本,並確保測試人員列在版本卡的“測試人員”選項卡中,並且處於“已接受”狀態。
如果您仍然沒有收到反饋,請按照以下步驟操作:
在測試設備上,使用 App Tester 或測試器 Web 應用登錄 Firebase App Distribution。請務必選擇您接受測試應用邀請時首次使用的 Google 帳戶。
使用 App Tester 或測試 Web 應用程序再次安裝應用程序,以確保測試人員可以訪問該版本。
嘗試提交反饋,再次確保使用同一 Google 帳戶登錄。
確保您啟用了 Firebase App Testers API。有關詳細信息,請參閱啟用 App Distribution Tester API 。
在“關鍵限制”下,確保 Firebase App Testers API 包含在允許的 API 列表中。
如果您在提交反饋時看到此消息“本應發送反饋,但由於開發模式而未發送”,請通過運行以下命令在設備上禁用開發人員模式:
adb shell setprop debug.firebase.appdistro.devmode false
檢查您的
google-services.json
文件,確保您提交的是正確項目和應用的反饋。在您的應用程序中為 App Distribution Android SDK 啟用詳細日誌記錄:
adb shell setprop log.tag.FirebaseAppDistribution VERBOSE
通過過濾“FirebaseAppDistribution”來檢查應用日誌中的錯誤消息。
如果您已在應用中設置了 App Distribution Android SDK,並且您的測試人員沒有收到應用內警報,請按照以下步驟操作:
通過將
OnFailureListener
附加到 Firebase App Distribution API 返回的任務來檢查錯誤消息。爪哇
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> { if (e instanceof FirebaseAppDistributionException) { // Log exception here }});
科特林
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e -> if (e is FirebaseAppDistributionException) { // Log exception here } }
檢查測試人員是否有權訪問新版本:
在您的應用程序中啟用調試模式。要了解具體操作方法,請參閱Google Analytics 文檔。
在模擬器中運行您的應用程序並蒐索字符串“FirebaseAppDistribution”。
如果日誌表明未找到版本,或者測試人員沒有訪問權限,則您的測試人員可能尚未與新版本關聯。
在 Firebase 控制台的應用程序分發儀表板中,確保您的測試程序包含在您的構建分發中並且處於“已接受”狀態。
如果您的測試人員仍未收到警報,請讓他們按照以下提示操作,以確保他們接受測試您的應用的邀請並正確設置測試設備:
在測試設備上,通過 App Tester 或測試器 Web 應用登錄 Firebase App Distribution。請記住選擇您接受測試應用邀請時首次使用的 Google 帳戶。
檢查以確保新的應用程序版本在 App Tester 或測試器 Web 應用程序中可用。
默認情況下,您的測試人員只需登錄其 Google 帳戶一次即可啟用測試功能。如果在關閉並重新打開您的應用程序後系統提示您的測試人員再次登錄,請按照以下提示操作以確保您的應用程序分發配置設置正確:
檢查並確保您已啟用 Firebase App Testers API。有關詳細信息,請參閱啟用 App Distribution Tester API 。
在“關鍵限制”下,確保 Firebase App Testers API 包含在允許的 API 列表中。
如果您通常在註銷時清除 SharedPreferences,則可能會清除測試人員的狀態。 App Distribution 存儲一個標誌,指示您的測試人員是否已登錄該應用程序。有關更多信息,請參閱GitHub 存儲庫。
經常問的問題
Firebase App Distribution 具有以下測試人員限制:
向 Firebase 項目添加最多 500 名測試人員
向應用程序分發組添加最多 200 名測試人員
要添加更多測試人員,請請求免費增加限制。
測試人員有 30 天的時間接受邀請來測試該應用程序,然後該應用程序就會過期。當邀請在 5 天后到期時,Firebase 控制台中發布的測試人員旁邊會顯示到期通知。可以通過測試者行的下拉菜單重新發送邀請來更新邀請。
如果發生以下情況之一,應用程序版本將從應用程序分發中刪除:
- 應用程序版本已超過 150 天。
- 您超出了 1,000 個應用程序版本限制,並且該應用程序版本早於 1,000 個最新應用程序版本。
有關詳細信息,請參閱App Distribution 支持最多 1,000 個版本。
應用達到或超過 150 天過期限製或 1,000 個發布限制後,該版本將從應用程序分發儀表板和 Firebase App Tester 應用中刪除。如果您的測試人員已安裝該版本,則應用程序的本地版本將繼續運行。
要保持應用程序版本的可用時間更長,請使用以下建議之一:
- 在應用程序版本到期或超出版本限制之前,下載 APK 或 AAB 並從應用程序分發儀表板中刪除該版本。然後,將 APK 或 AAB 作為新版本重新上傳到 App Distribution。
- 下載該版本並將其上傳到Cloud Storage進行長期存檔。
應用程序版本在 150 天后過期
當您將應用程序版本上傳到 Firebase 時,該版本會在應用程序分發信息中心中顯示 150 天,從上傳日期算起。上傳版本後,您可以將其分發給測試人員,測試人員從 Firebase App Tester 應用程序在其測試設備上安裝該版本。
當版本距離到期日期還有 30 天時,Firebase App Tester 應用中的版本上會顯示應用版本到期通知。
App Distribution 最多支持 1,000 個版本
App Distribution 允許每個應用程序最多發布 1,000 個版本。當您的應用程序達到 1,000 個應用程序版本限制時,App Distribution 會自動刪除超過該限制的最舊版本。
如果您想手動管理應用程序版本,請使用應用程序分發 REST API 批量列出和刪除應用程序版本。
如果您有疑問,請聯繫Firebase 支持。
如果您是測試人員,我們建議您下載Firebase App Tester ,這是一款可讓您在一個位置訪問所有測試版本的應用。
要刪除您的 App Distribution 測試人員帳戶及其關聯數據,請按順序執行以下步驟:
訪問https://appdistribution.firebase.google.com並使用您的 Google 帳戶登錄。
點擊右上角的
(管理帳戶)刪除帳戶。
可選:在您的Google 帳戶權限中,撤消 Firebase App Distribution 的訪問權限。請注意,在不先刪除您的應用程序分發帳戶的情況下撤銷訪問權限不會刪除您的測試人員帳戶或數據。