Catch up on highlights from Firebase at Google I/O 2023. Learn more

收集測試人員的反饋

本指南介紹如何使用可選的 Firebase App Distribution Android SDK 啟用應用內反饋,以便您的測試人員可以直接在應用中提交反饋(包括屏幕截圖)。

在你開始之前

如果您還沒有,請將 Firebase 添加到您的 Android 項目中

第 1 步:啟用 App Distribution Tester API

  1. 打開Google Cloud Console並選擇您的 Firebase 項目。

  2. 在 Firebase App Testers API 下,點擊Enable

第 2 步:將 App Distribution 添加到您的應用

App Distribution Android SDK 由兩個庫組成:

  • firebase-appdistribution-api :僅限 API 的庫,您可以將其包含在所有構建變體中。
  • firebase-appdistribution :完整的 SDK 實現(可選)。

API-only 庫允許您的代碼調用 SDK。如果不存在完整的 SDK 實現,則調用無效。

  1. 在您的模塊(應用級)Gradle 文件(通常app/build.gradle )中聲明 App Distribution Android SDK 的依賴項。

  2. 為避免在您的 Google Play 構建中包含完整的 SDK 實現的自我更新功能,請確定構建變體,包括您將通過 App Distribution 分發的構建類型產品風格

  3. 僅將完整的 SDK 實現添加到專門用於預發布測試的變體:

    Kotlin+KTX

    
    dependencies {
       // ADD the API-only library to all variants
       implementation 'com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta08'
    
       // ADD the full SDK implementation to the "beta" variant only (example)
       betaImplementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta08'
    }
    

    Java

    
    dependencies {
       // ADD the API-only library to all variants
       implementation 'com.google.firebase:firebase-appdistribution-api:16.0.0-beta08'
    
       // ADD the full SDK implementation to the "beta" variant only (example)
       betaImplementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta08'
    }
    

第 3 步:配置應用內反饋

要從測試人員那裡收集反饋,請使用以下觸發器之一使測試人員能夠發起反饋:

  • 內置通知觸發器:App Distribution Android SDK 可以顯示持續通知,測試人員可以從應用程序的任何位置點擊該通知。如果您想更快地開始並且不需要自定義測試人員提供反饋的方式,請使用此觸發器。

  • 自定義觸發器:您可以提供自己的觸發機制,例如點擊應用程序中的按鈕或菜單項或搖動設備。

當您使用這些觸發器中的任何一個並且測試人員提交反饋時,Android SDK 會執行以下操作:

  1. 捕獲應用程序當前活動的屏幕截圖。

  2. 運行檢查以確保測試人員啟用了 SDK 的測試功能。如果未啟用測試功能,Android SDK 會提示測試人員使用其 Google 帳戶登錄 App Distribution。

  3. 啟動一個全屏活動,讓測試人員編寫並提交他們的反饋。

選項 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 步:構建和測試您的實施

本地測試

要在不必先分發應用程序的情況下測試您的實施,請執行以下步驟:

  1. 在本地設備上啟用開發模式:

    adb shell setprop debug.firebase.appdistro.devmode true
    
  2. 將您的應用構建為包含完整 App Distribution 庫的預發布變體,並測試您是否可以使用第 3 步:配置應用內反饋中實施的機制觸發反饋。在開發模式下不提交反饋。

  3. 測試後,您可以在您的設備上禁用開發模式:

    adb shell setprop debug.firebase.appdistro.devmode false
    

端到端測試

要測試您的應用是否可以發送反饋,請將您的應用構建為包含完整應用分發庫的預發布變體,並按照以下步驟測試您的實施:

  1. 將新的應用程序版本上傳到 App Distribution。

  2. 將應用程序版本分發到您有權訪問的帳戶。

  3. 通過 App Distribution 的網絡或 Android 測試應用程序下載該應用程序。

  4. 使用第 3 步:配置應用內反饋中實施的機制觸發反饋。

  5. 確保您登錄的帳戶與您在步驟 2 中使用的帳戶相同:將應用程序分發添加到您的應用程序,並提交反饋。

  6. Firebase 控制台的新版本卡片中查看您的反饋。

要了解如何解決常見問題,例如測試人員無法在應用程序中開始反饋,請參閱使用 SDK 啟用測試功能

第 5 步:管理測試人員反饋

在您允許測試人員發送反饋後,您可以使用以下工具來查看反饋並採取行動:

在 Firebase 控制台中查看和刪除反饋

您可以查看和刪除用戶反饋,包括屏幕截圖,方法是打開 Firebase 控制台中特定版本下的“測試人員反饋”選項卡。用戶反饋按版本組織,因此您可以確認反饋適用的版本。

查看用戶反饋後,您可以通過單擊刪除反饋按鈕刪除該反饋。已刪除的反饋將從您的發布中移除。

接收有關新反饋的電子郵件提醒

要主動了解新的測試人員反饋,您可以在測試人員提交反饋時收到電子郵件提醒。電子郵件提醒包括您的測試員提供的書面反饋以及指向他們提交的任何屏幕截圖的鏈接。

要通過此默認機制接收 App Distribution 電子郵件提醒,您必須擁有firebase.projects.update權限。默認情況下,以下角色包含此必需權限: Firebase Admin或項目所有者或編輯者

默認情況下,每個具有接收電子郵件提醒所需權限的項目成員都會在提交新的反饋報告時收到一封電子郵件。項目成員可以單獨選擇退出這些警報。

要禁用電子郵件警報,請參閱接收 Firebase 警報

向第三方工具發送新反饋

您還可以使用 Cloud Functions for Firebase 將 App Distribution 提醒發送到您團隊的首選通知渠道。例如,您可以編寫一個函數來捕獲新的應用程序內反饋的警報事件,並將警報信息發佈到第三方服務,如 Discord、Slack 或 Jira。

要使用 Cloud Functions for Firebase 設置高級警報功能,請執行以下步驟:

  1. 為 Firebase 設置 Cloud Functions ,其中包括以下任務:

    1. 下載 Node.js 和 npm。

    2. 安裝並登錄 Firebase CLI。

    3. 使用 Firebase CLI 初始化 Cloud Functions for Firebase。

  2. 編寫並部署一個函數,用於從 App Distribution 捕獲應用內反饋警報事件並處理事件負載(例如,在 Discord 上的消息中發布警報信息)。

要查看向您展示如何向 Jira 發送新反饋的示例函數,請參閱此示例

要了解您可以捕獲的所有警報事件,請參閱App Distribution 警報的參考文檔。