本頁面提供疑難排解說明,以及使用 App Distribution 發布及測試應用程式的常見問題解答。
發布應用程式
請參考下列提示,排解將應用程式發布給測試人員時可能遇到的問題。
缺少聯絡電子郵件地址,無法發布應用程式
上傳應用程式時,可能會遇到以下錯誤:
「我們找不到應用程式 <app-id> 的聯絡電子郵件地址。請前往 Firebase 控制台中的 App Distribution 進行設定。
在 Firebase 控制台中設定聯絡電子郵件地址 (如有)。如果問題持續發生,請與 Firebase 支援團隊聯絡。
佈建應用程式時發生錯誤 (400、409 或 500 錯誤)
如果在佈建期間反覆遇到 400、409 或 500 錯誤,請與 Firebase 支援團隊聯絡。向支援團隊提供 Firebase 專案編號和應用程式 ID。
無法上傳 APK 檔案
確認 APK 的大小。所有二進位檔的大小上限為 2048 MiB,略高於 2 GB。
如果 APK 大小在檔案大小限制內,且問題可重現,請與 Firebase 支援團隊聯絡。
無法使用 fastlane 上傳 APK。APK 未簽署。
使用下列指令,確認 APK 已簽署:
apksigner verify --verbose ~/app-distro/app-distro-apps/[path_name]/app/ build/outputs/apk/debug/app-debug.apk
發布 Android App Bundle (AAB)
使用社群媒體登入/第三方 API 供應商時收到錯誤訊息
將 AAB 上傳至 App Distribution 時,Google Play 會使用測試應用程式簽署金鑰憑證,自動重新簽署產生的 APK。如果系統提示,您必須向 API 供應商註冊應用程式,才能繼續使用他們的第三方服務。簽署後,您可以在 Firebase 控制台中查看應用程式的測試憑證。
我上傳的 AAB 是否也會顯示在 Google Play?
您上傳至 App Distribution 的 AAB 版本不會顯示在 Google Play 開發人員帳戶中 (包括應用程式套件探索工具和內部應用程式分享)。
如果取消 Firebase 與 Google Play 之間的連結,會發生什麼情況?
如果 Firebase Android 應用程式與 Google Play 取消連結,會發生下列情況:
您將無法再上傳新的應用程式套件至 App Distribution,也無法透過 App Distribution 與 Google Play 的整合功能,將套件匯出至 Google Play。
現有版本仍會顯示在 Firebase App Distribution 資訊主頁中,並可供測試人員使用。
先前匯出的所有資料仍可透過 Firebase 和 Google Play 存取。
可以重新嘗試將應用程式連結至 Google Play 嗎?
如要透過 App Distribution 發布 Android App Bundle (AAB),並自動將上傳的 AAB 連結至 Firebase 專案和 Google Play 開發人員帳戶,請確認您符合下列規定:
您的 Google Play 開發人員帳戶具有下列其中一種存取層級:擁有者或管理員。
您在 Firebase 專案中具備下列任一角色:擁有者或 Firebase 管理員。
應用程式已透過 Firebase 和 Google Play 開發人員帳戶註冊完畢。也就是說,你同時擁有 Firebase Android 應用程式和 Google Play 應用程式。
註冊 Google Play 中的應用程式和 Firebase Android 應用程式時,你使用的是相同的套件名稱。
Google Play 中的應用程式已在應用程式資訊主頁中設定完畢,並發布至其中一個 Google Play 測試群組 (內部測試、封閉測試、公開測試或正式版)。
應用程式的 Google Play 審核程序已經完成,並發布完畢。如果「應用程式狀態」欄顯示下列任一狀態,即代表應用程式已發布:內部測試 (並非草稿內部測試)、封閉測試、公開測試或正式版。
如果您上傳的應用程式先前不符合上述連結條件,但現在符合,可以再次嘗試將 Firebase Android 應用程式連結至 Google Play。
安裝及測試應用程式
請參考下列提示,排解測試人員在安裝及測試應用程式時可能遇到的問題。
測試人員沒有 Google 帳戶
使用者建立 Google 帳戶時,會自動取得 Gmail 地址。
如果測試人員沒有 Google Workspace 或 Gmail 地址,或想使用其他電子郵件地址登入,請要求測試人員將非 Gmail 電子郵件地址連結至帳戶,並使用該電子郵件登入。
測試人員選擇的備用電子郵件地址必須符合下列規定:
- 請勿使用 Gmail 地址。
- 請勿使用已連結至其他 Google 帳戶的電子郵件地址。
- 使用這個電子郵件地址登入時,請使用 Google 帳戶密碼。
詳情請參閱「使用其他電子郵件地址登入 Google 帳戶」。
測試人員無法看到正確的應用程式或版本
如果測試人員接受電子郵件邀請時,使用的電子郵件地址與邀請傳送的地址不同,可能就無法看到正確的應用程式或建構。
開發人員傳送邀請及新增至新版本的電子郵件 (電子郵件 A),可以與測試人員用來接受邀請的電子郵件 (電子郵件 B) 不同。系統會在幕後建立連結。每當電子郵件 A 新增至新版本時,實際取得存取權的是電子郵件 B。
如果測試人員使用其他電子郵件地址接受邀請,請按照下列步驟解決問題:
在 Firebase 控制台的「App Distribution」頁面,前往「測試人員和群組」分頁,在「查看所有測試人員」部分刪除測試人員。現有邀請會遭到移除。
重新邀請測試人員測試應用程式。測試人員應該會收到邀請電子郵件。
請確認測試人員使用相同的電子郵件地址接受邀請。
測試人員未收到電子郵件通知
如果發生下列任一情況,測試人員可能不會收到電子郵件通知:
解決方案 1
請測試人員檢查垃圾郵件資料夾,以及在電子郵件服務中設定的任何電子郵件篩選器。
如果測試人員取消訂閱電子郵件,請要求測試人員執行下列操作:
- 找出測試人員先前從應用程式收到的電子郵件。
- 按一下底部的「管理電子郵件設定」,然後按一下「允許電子郵件」即可重新訂閱。
解決方案 2
如果測試人員不想收到電子郵件通知,但想接受應用程式邀請,可以直接在 App Tester 應用程式中查看待處理的應用程式邀請 (下載操作說明)。
解決方案 3
在 Firebase 控制台的「App Distribution」頁面中,前往「測試人員和群組」分頁,然後在「查看所有測試人員」部分刪除測試人員。這項操作會移除現有邀請。
重新邀請測試人員測試應用程式。測試人員應會收到邀請電子郵件。請確認測試人員接受邀請時,使用的電子郵件地址與收到邀請的地址相同。
應用程式未顯示已安裝
如果測試人員下載並安裝版本,但應用程式詳細資料使用者介面未顯示應用程式已安裝,這是已知問題。在某些情況下,Firebase 應用程式中的軟體包 ID 與 APK 的軟體包 ID 不相符。
確認 APK 的軟體包 ID 與您用來上傳發行版本的 Firebase 應用程式軟體包 ID 相符。
Android 警示指出裝置無法安裝不明應用程式
如果執行中的應用程式或瀏覽器尚未取得從 Google Play 以外來源安裝應用程式的權限,系統就會顯示 Android 快訊。如要授予權限:
無法安裝測試 APK
如果測試 APK 無法安裝在測試人員的裝置上:
- 確認新版本的憑證與測試人員裝置上安裝的版本相符。只有在憑證相符時,Android 系統才會允許應用程式更新。詳情請參閱「簽署注意事項」。
- 確認應用程式支援測試人員裝置的 OS 版本 (請查看
minSdkVersion)。
無法登入 Android App Tester 應用程式
如果 App Tester 應用程式阻止您登入,並將您重新導向回登入畫面,表示您可能使用的是包含限制設定的 Google Workspace (舊稱 GSuite) 帳戶。
如要移除限制設定,請按照下列步驟操作:
在 Google Workspace 的「Apps」(應用程式) 分頁中,確認 Firebase App Distribution「未」設為「Access: Blocked」(存取權:已封鎖)。
在「Services」(服務)分頁中,
確認「Cloud Platform」未受限制。
移除設定後,請再次嘗試登入。
安裝 AAB 時發生錯誤:「無法安裝應用程式」
如果安裝的應用程式與裝置上已安裝的應用程式衝突,就可能發生這項錯誤。例如,這可能是同一個應用程式的不同版本,具有相同的自訂權限或 ContentProvider 名稱。
您可以要求測試人員在遇到問題後立即收集錯誤報告,並檢查報告,進一步瞭解原因。測試人員必須先刪除所有衝突的應用程式,才能安裝新應用程式。
在新的 Android 裝置上測試
如果您是第一次測試,請參閱「設定測試人員」。
如果您是現有的 App Distribution 測試人員,並取得新的 Android 裝置進行測試,請按照下列步驟操作,不必再次完成整個新測試人員流程:
在 Android 裝置上前往 appdistribution.firebase.google.com。
使用現有的測試人員帳戶登入,然後按一下畫面底部的「Download 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 Distribution 資訊主頁中,找出測試人員裝置上執行的確切版本,並確認測試人員列在版本資訊卡的「Testers」分頁中,且處於「Accepted」狀態。
如果還是沒有收到意見回饋,請按照下列步驟操作:
在測試裝置上,使用 App Tester 或測試人員網頁應用程式登入 Firebase App Distribution。請務必選取您首次接受應用程式測試邀請時使用的 Google 帳戶。
使用 App Tester 或測試網頁應用程式重新安裝應用程式,確保測試人員可以存取版本。
嘗試提交意見回饋,並再次確認登入的是同一個 Google 帳戶。
確認您已啟用 Firebase App Testers API。詳情請參閱「啟用 App Distribution Tester API」。
在「Key restrictions」(金鑰限制) 下方,確認 Firebase App Testers API 已列入允許的 API 清單。
未收到在應用程式中提交的意見回饋
如果在提交意見回饋時看到「Would have sent feedback, but did not due to development mode」訊息,請執行下列指令,停用裝置的開發人員模式:
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 傳回的工作。
Java
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener ( e -> {
if (e instanceof FirebaseAppDistributionException) {
// Log exception here
}});
Kotlin
firebaseAppDistribution.updateIfNewReleaseAvailable().addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Log exception here
}
}
確認測試人員可以存取新版本:
在應用程式中啟用偵錯模式。如要瞭解如何啟用,請參閱 Google Analytics 說明文件。
在模擬器中執行應用程式,並搜尋「FirebaseAppDistribution」字串。
如果記錄顯示找不到版本,或測試人員沒有存取權,表示測試人員可能尚未與新版本建立關聯。
在 Firebase 控制台的 App Distribution 資訊主頁中,確認測試人員已加入版本發布,且處於「Accepted」狀態。
如果測試人員仍未收到快訊,請他們按照下列提示操作,確認已接受測試應用程式的邀請,並正確設定測試裝置:
在測試裝置上,使用 App Tester 或測試人員網頁應用程式登入 Firebase 應用程式發布。請務必選取您首次接受應用程式測試邀請時使用的 Google 帳戶。
確認 App Tester 或測試人員網頁應用程式中,有新的應用程式版本。
測試人員關閉應用程式後,系統提示再次登入
根據預設,測試人員只需登入 Google 帳戶一次,即可啟用測試功能。如果測試人員在關閉並重新開啟應用程式後,系統提示他們再次登入,請按照下列提示操作,確保 App Distribution 設定正確:
請確認您已啟用 Firebase App Testers API。詳情請參閱「啟用應用程式發布測試人員 API」。
在「Key restrictions」(金鑰限制) 下方,確認 Firebase App Testers API 已列入允許的 API 清單。
如果您通常會在登出時清除 SharedPreferences,可能會清除測試人員的狀態。App Distribution 會儲存旗標,指出測試人員是否已登入應用程式。詳情請參閱 GitHub 存放區。
應用程式測試代理預先發布版
如何存取應用程式測試代理?
如要使用應用程式測試代理預先發布版,請前往 Firebase 控制台的「版本」頁面,透過橫幅選擇加入並開始使用這項功能。
如果已關閉橫幅,請前往「測試案例」分頁,即可找到橫幅。擁有者有權為整項專案選擇加入。
如果仍無法啟用這項功能,請與 Firebase 支援團隊聯絡,並附上以下訊息:「Requesting access to App Distribution App Testing agent」。
選擇加入後,這項功能會為整個團隊啟用,還是只為我啟用?
這項功能會套用至整個專案。
我已選擇加入,但仍未看到這項功能
請嘗試重新整理瀏覽器。如果重新整理
瀏覽器後仍無法查看這項功能,請與 Firebase
支援團隊聯絡,並附上以下訊息:「Requesting
access to App Distribution App Testing agent」(要求存取 應用程式測試代理)。
什麼是必要條件測試案例?運作方式為何?
必要條件測試案例可讓您將測試案例鏈結在一起,避免在多項測試中重複執行步驟,例如常見的登入或新手上路流程。為測試指派必要條件後,該條件會在主要測試前執行。如果必要條件中的任何步驟失敗,整個測試就會視為失敗。最終測試執行作業會在單一檢視畫面中顯示必要條件和主要測試的步驟,方便您在同一處查看整個執行作業。
請注意,如果測試案例是其他測試案例的必要條件,則必須先從其他測試案例中移除,才能刪除。如要移除測試案例的必要條件,請在「編輯測試案例」對話方塊的必要條件下拉式選單中,選取「無」。
應用程式測試代理是否支援 Flutter 應用程式?
是的,應用程式測試代理支援使用 Flutter 建構的 Android 應用程式。
使用「應用程式測試」代理執行隨機檢索測試時,是否有配額限制?
應用程式測試代理程式的隨機檢索測試使用 Firebase Test Lab 基礎架構,限制和定價也相同。測試配額是以每天執行的測試數量計算。如要進一步瞭解測試配額和計費方式,請參閱「Test Lab 的用量等級、配額與定價」。
使用「應用程式測試」代理執行隨機檢索測試時,配額重試次數上限為何?
如果執行隨機檢索測試時超出配額,系統會顯示超出配額錯誤。配額約需 24 小時才會重設,因此在配額釋出前,請避免重試。不過,如果收到基礎架構錯誤,立即重試較有可能成功。
需要哪些權限才能使用應用程式測試代理?
如果使用預設的 Google Cloud Storage (GCS) bucket,您必須具備 Firebase 專案的編輯者角色。
如果使用自訂 bucket,則不需要「編輯者」角色。您需要具備包含下列權限的角色:
- Firebase 品質管理員
- Firebase Test Lab 管理員
- Storage 物件使用者
自訂 bucket 必須由已啟用計費功能的專案擁有,且指定 bucket 會產生所用儲存空間的費用。
應用程式測試代理的測試逾時時間有多長?
AI 引導測試的逾時時間為 5 分鐘,隨機檢索測試則為 10 分鐘。
常見問題
應用程式新增測試人員是否有限制?
Firebase App Distribution 的測試人員人數上限如下:
如要新增更多測試人員,請申請提高上限 (免付費)。
測試人員邀請會過期嗎?
測試人員必須在 30 天內接受邀請,否則邀請會失效。
邀請到期前 5 天,Firebase 控制台會顯示到期通知,位置在版本測試人員旁邊。如要更新邀請,請使用測試人員列的下拉式選單重新傳送。
應用程式版本會保留多久?
如果發生下列任一情況,系統會從 App Distribution 移除應用程式版本:
- 應用程式版本已發布超過 150 天。
- 應用程式版本數量超過 1,000 個,且該版本比最近 1,000 個版本更舊。
詳情請參閱「App Distribution 最多支援 1,000 個版本」。
應用程式達到或超過 150 天的到期限制或 1,000 個版本限制後,版本就會從 App Distribution 資訊主頁和 Firebase App Tester 應用程式中移除。如果測試人員已安裝該版本,應用程式的本機版本會繼續執行。
如要延長應用程式版本的可用時間,請採用下列其中一項建議:
- 在應用程式版本到期或超過版本數量上限前,請下載 APK 或 AAB,並從 App Distribution 資訊主頁刪除該版本。然後將 APK 或 AAB 做為新版本重新上傳至 App Distribution。
- 下載版本並上傳至 Cloud Storage,以便長期封存。
應用程式版本會在 150 天後失效
將應用程式版本上傳至 Firebase 後,該版本會顯示在 App Distribution 資訊主頁中,為期 150 天 (自上傳日期起算)。上傳版本後,您可以將版本發布給測試人員,測試人員則可透過測試裝置上的 Firebase App Tester 應用程式安裝版本。
版本到期前 30 天,Firebase App Tester 應用程式會顯示版本到期通知。
App Distribution 最多支援 1,000 個版本
App Distribution 的每個應用程式版本數量上限為 1,000 個。應用程式達到 1,000 個版本上限後,App Distribution 會自動刪除超出上限的最舊版本。
如要手動管理應用程式版本,請使用 App Distribution REST API 大量列出和刪除應用程式版本。
如有任何問題,請與 Firebase 支援團隊聯絡。