本指南介紹如何使用可選的 Firebase App Distribution Android SDK 啟用應用程式內回饋,以便測試人員可以直接在應用程式中提交回饋(包括螢幕截圖)。
在你開始之前
如果您尚未將 Firebase 新增至您的 Android 專案中,請將其新增至您的 Android 專案中。
步驟 1:啟用 App Distribution Tester API
開啟Google Cloud 控制台並選擇您的 Firebase 專案。
在 Firebase App Testers API 下,按一下啟用。
第 2 步:將應用程式分發添加到您的應用程式
App Distribution Android SDK 由兩個函式庫組成:
-
firebase-appdistribution-api
:僅 API 庫,您可以將其包含在所有建置變體中。 -
firebase-appdistribution
:完整的 SDK 實作(可選)。
僅 API 庫允許您的程式碼呼叫 SDK。如果不存在完整的 SDK 實現,則呼叫無效。
在模組(應用程式層級) Gradle 檔案(通常
<project>/<app-module>/build.gradle.kts
或<project>/<app-module>/build.gradle
中聲明App Distribution Android SDK 的依賴項)。為了避免在您的 Google Play 建置中包含完整 SDK 實現的自我更新功能,請識別建置變體,包括您將透過 App Distribution 分發的建置類型或產品風格。
在模組(應用程式層級)Gradle 檔案(通常
app/build.gradle
)中聲明 App Distribution Android SDK 的依賴項。僅將完整的 SDK 實作新增至專門用於預發布測試的變體:Kotlin+KTX
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta12") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta12") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta12") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta12") }
第 3 步:配置應用程式內回饋
若要收集測試人員的回饋,請使用下列觸發器之一以使測試人員能夠啟動回饋:
內建通知觸發器:App Distribution Android SDK 可以顯示持續的通知,測試人員可以從應用程式中的任何位置點擊該通知。如果您想更快開始並且不需要自訂測試人員提供回饋的方式,請使用此觸發器。
自訂觸發器:您可以提供自己的觸發機制,例如點擊應用程式中的按鈕或選單項目或搖動裝置。
當您使用這些觸發器中的任何一個並且測試人員提交回饋時,Android SDK 會執行以下操作:
擷取應用程式目前活動的螢幕截圖。
執行檢查以確保測試人員啟用了 SDK 的測試功能。如果未啟用測試功能,Android SDK 會提示測試人員使用其 Google 帳號登入 App Distribution。
啟動全螢幕活動,讓測試人員編寫並提交回饋。
選項 1:通知觸發
使用showFeedbackNotification()
在測試人員的裝置上顯示持久或持續的通知,他們可以點擊該通知來啟動回饋。配置通知時,您需要提供一些在測試人員提交回饋之前顯示給他們的文本,以及通知的中斷等級(對應於通知管道的重要性)。如果您想向測試人員提供有關收集和處理回饋資料的通知,您可以使用文字來提供此類通知。
當您使用showFeedbackNotification()
並且應用程式轉到背景時,通知將被隱藏。如果您想要明確隱藏通知,請使用cancelFeedbackNotification()
。我們建議您將showFeedbackNotification()
放在主要活動的onCreate()
中。
Kotlin+KTX
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Firebase.appDistribution.showFeedbackNotification(
// Text providing notice to your testers about collection and
// processing of their feedback data
R.string.additionalFormText,
// The level of interruption for the notification
InterruptionLevel.HIGH)
}
}
Java
public class MainActivity extends AppCompatActivity {
FirebaseAppDistribution firebaseAppDistribution =
FirebaseAppDistribution.getInstance();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
firebaseAppDistribution.showFeedbackNotification(
// Text providing notice to your testers about collection and
// processing of their feedback data
R.string.additionalFormText,
// The level of interruption for the notification
InterruptionLevel.HIGH);
}
}
選項 2:自訂觸發器
使用startFeedback()
方法透過您選擇的機制啟動回饋。例如,要觸發回饋,您可能需要將「傳送回饋」選單項目新增至應用程式的操作選單中,或讓測試人員搖動裝置或進行螢幕截圖。當您觸發回饋時,請提供一些文本,這些文本將在測試人員提交回饋之前顯示給他們。如果您想向測試人員提供有關收集和處理回饋資料的通知,您可以使用此文字來提供此類通知。
Kotlin+KTX
Firebase.appDistribution.startFeedback(R.string.feedbackMessage)
Java
FirebaseAppDistribution.getInstance().startFeedback(R.string.feedbackMessage);
第 4 步:建立並測試您的實施
本地測試
要測試您的實施而無需先分發應用程序,請按照以下步驟操作:
在本機裝置上啟用開發模式:
adb shell setprop debug.firebase.appdistro.devmode true
將您的應用程式建置為包含完整應用程式分發庫的預發布變體,並測試您是否可以使用步驟 3:配置應用程式內回饋中實現的機制觸發回饋。處於開發模式時不會提交回饋。
測試後,您可以在裝置上停用開發模式:
adb shell setprop debug.firebase.appdistro.devmode false
端對端測試
要測試您的應用程式是否可以發送回饋,請將您的應用程式建置為包含完整應用程式分發庫的預發布變體,並按照以下步驟測試您的實作:
將新的應用程式版本上傳到 App Distribution。
將應用程式版本分發到您有權存取的帳戶。
透過 App Distribution 的網路或 Android 測試應用程式下載該應用程式。
使用步驟 3:配置應用程式內回饋中實現的機制觸發回饋。
確保您使用分發應用程式版本的相同帳戶登錄,並提交回饋。
在Firebase 控制台的新版本卡片中查看您的回饋。
若要了解如何解決常見問題(例如測試人員無法在應用程式中啟動回饋),請參閱使用 SDK 啟用測試功能。
第 5 步:管理測試人員回饋
在允許測試人員發送回饋後,您可以使用以下工具來查看該回饋並採取行動:
在 Firebase 控制台中查看和刪除回饋
您可以透過在 Firebase 控制台中開啟特定版本下的測試人員回饋標籤來檢視和刪除使用者回饋(包括螢幕截圖)。使用者回饋按版本組織,因此您可以確認回饋適用的版本。
查看用戶回饋後,您可以透過點擊「刪除回饋」按鈕刪除該回饋。已刪除的回饋將從您的版本中刪除。
接收新回饋的電子郵件提醒
若要主動了解新的測試人員回饋,您可以在測試人員提交回饋時收到電子郵件提醒。電子郵件警報包括測試人員提供的書面回饋以及他們提交的任何螢幕截圖的連結。
若要透過此預設機制接收應用程式分發電子郵件警報,您必須擁有firebase.projects.update
權限。預設情況下,下列角色包含此所需權限: Firebase 管理員或 專案Owner 或 Editor 。
預設情況下,每個具有接收電子郵件警報所需權限的專案成員都會在提交新的回饋報告時收到一封電子郵件。專案成員可以單獨選擇退出這些警報。
若要停用電子郵件警報,請參閱接收 Firebase 警報。
向第三方工具發送新回饋
您也可以使用 Cloud Functions for Firebase 將應用程式分發警報傳送到團隊的首選通知管道。例如,您可以編寫一個函數來捕獲新的應用程式內回饋的警報事件,並將警報資訊發佈到第三方服務(例如 Discord、Slack 或 Jira)。
若要使用 Cloud Functions for Firebase 設定進階警報功能,請依照下列步驟操作:
設定 Cloud Functions for Firebase ,其中包含下列任務:
下載 Node.js 和 npm。
安裝並登入 Firebase CLI。
使用 Firebase CLI 初始化 Cloud Functions for Firebase。
編寫並部署一個函數,用於從 App Distribution 捕獲應用程式內回饋警報事件並處理事件負載(例如,在 Discord 上的消息中發布警報資訊)。
若要查看向您展示如何向 Jira 傳送新回饋的範例函數,請參閱此範例。
若要了解您可以擷取的所有警報事件,請參閱App Distribution 警報的參考文件。