收集測試人員的反饋

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

在你開始之前

如果您尚未將 Firebase 添加到您的 Android 項目中,請將其添加到您的 Android 項目中。

第 1 步:啟用 App Distribution Tester API

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

  2. 在 Firebase App Testers API 下,單擊啟用

第 2 步:將應用程序分發添加到您的應用程序

App Distribution Android SDK 由兩個庫組成:

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

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

  1. 模塊(應用程序級) Gradle 文件(通常<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradle中聲明 App Distribution Android SDK 的依賴項)。

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

  3. 模塊(應用程序級)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-beta10")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta10")
    }
    

    Java

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

第 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. 將您的應用程序構建為包含完整應用程序分發庫的預發布變體,並測試您是否可以使用步驟 3:配置應用程序內反饋中實現的機制觸發反饋。處於開發模式時不會提交反饋。

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

    adb shell setprop debug.firebase.appdistro.devmode false
    

端到端測試

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

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

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

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

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

  5. 確保您使用分發應用程序版本的同一帳戶登錄,並提交反饋。

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

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

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

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

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

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

查看用戶反饋後,您可以通過單擊“刪除反饋”按鈕刪除該反饋。已刪除的反饋將從您的版本中刪除。

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

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

要通過此默認機制接收應用程序分發電子郵件警報,您必須擁有firebase.projects.update權限。默認情況下,以下角色包含此所需權限: Firebase 管理員或 項目Owner 或 Editor

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

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

向第三方工具發送新反饋

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

要使用 Cloud Functions for Firebase 設置高級警報功能,請按照以下步驟操作:

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

    1. 下載 Node.js 和 npm。

    2. 安裝並登錄 Firebase CLI。

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

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

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

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