收集測試人員的意見回饋

本指南說明如何使用選用的 Firebase App Distribution Android SDK 啟用應用程式內意見回饋功能,讓測試人員直接在應用程式中提交意見回饋 (包括螢幕截圖)。

事前準備

如果您尚未將 Firebase 新增至 Android 專案,請先新增。

步驟 1:啟用 App Distribution Tester API

  1. 開啟 Google Cloud 控制台,然後選取 Firebase 專案。

  2. 在 Firebase App Testers API 下方,按一下「啟用」

步驟 2:在應用程式中加入 App Distribution

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

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

    Java

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

步驟 3:設定應用程式內意見回饋

如要收集測試人員的意見回饋,請使用下列其中一個觸發條件,讓測試人員啟動意見回饋功能:

  • 內建通知觸發條件App DistributionAndroid SDK 可以顯示持續性通知,測試人員可從應用程式的任何位置輕觸通知。如果您想快速開始測試,且不需要自訂測試人員提供意見回饋的方式,請使用這個觸發條件。

  • 自訂觸發條件:您可以提供自己的觸發機制,例如輕觸應用程式中的按鈕或選單項目,或是搖晃裝置。

使用上述任一觸發條件,測試人員提交意見回饋時,Android SDK 會執行下列動作:

  1. 擷取應用程式目前活動的螢幕截圖。

  2. 執行檢查,確保測試人員已啟用 SDK 的測試功能。如果測試功能未啟用,Android SDK 會提示測試人員登入 App Distribution Google 帳戶。

  3. 啟動全螢幕活動,讓測試人員撰寫及提交意見回饋。

選項 1:觸發通知

使用 showFeedbackNotification() 在測試人員的裝置上顯示常駐或持續通知,測試人員可以輕觸通知來啟動意見回饋程序。設定通知時,您需要提供一些文字,在測試人員提交意見回饋前顯示,並設定通知的干擾程度 (對應於通知管道的重要性)。如要向測試人員提供有關收集及處理意見回饋資料的通知,可以使用這段文字。

使用 showFeedbackNotification() 時,如果應用程式進入背景,系統會隱藏通知。如要明確隱藏通知,請使用 cancelFeedbackNotification()。建議您將 showFeedbackNotification() 放在主要活動的 onCreate() 中。

Kotlin

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

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

端對端測試

如要測試應用程式是否可以傳送意見回饋,請將應用程式建構為包含完整 App Distribution 程式庫的預先發布變體,然後按照下列步驟測試實作項目:

  1. 將新版應用程式上傳至 App Distribution

  2. 將應用程式版本發布至您有權存取的帳戶。

  3. 透過「App Distribution」網站或 Android 測試人員應用程式下載應用程式。

  4. 使用在「步驟 3:設定應用程式內意見回饋」中實作的機制,觸發意見回饋。

  5. 請務必登入發布應用程式版本的帳戶,然後提交意見回饋。

  6. Firebase管理中心的新版本資訊卡中查看意見回饋。

如要瞭解如何解決常見問題 (例如測試人員無法在應用程式中開始提供意見回饋),請參閱「使用 SDK 啟用測試功能」。

步驟 5:管理測試人員意見回饋

允許測試人員傳送意見回饋後,您可以使用下列工具查看及處理意見回饋:

Firebase 控制台中查看及刪除意見回饋

如要查看及刪除使用者意見回饋 (包括螢幕截圖),請在Firebase控制台中開啟特定版本的「測試人員意見回饋」分頁。使用者意見回饋會依版本整理,方便您確認意見回饋適用的版本。

查看使用者意見回饋後,按一下「刪除意見回饋」按鈕即可刪除。系統會從發行內容中移除已刪除的意見回饋。

接收新意見回饋的電子郵件快訊

如要主動瞭解測試人員的新意見回饋,可以在測試人員提交意見回饋時收到電子郵件快訊。電子郵件快訊會附上測試人員提供的書面意見,以及他們提交的任何螢幕截圖連結。

如要透過這個預設機制接收 App Distribution 電子郵件快訊,您必須具備 firebase.projects.update 權限。根據預設,下列角色都具備這項必要權限:Firebase 管理員,或是專案擁有者或編輯者

根據預設,專案成員只要具備接收電子郵件快訊的必要權限,就會在提交新的意見回饋報告時收到電子郵件。專案成員可以個別停用這些快訊。

如要停用電子郵件快訊,請參閱「接收 Firebase 快訊」。

將新意見回饋傳送至第三方工具

你也可以使用 Cloud Functions for Firebase,透過團隊偏好的通知管道傳送 App Distribution 快訊。舉例來說,您可以編寫函式,擷取應用程式內新意見回饋的快訊事件,並將快訊資訊發布至 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 快訊的參考文件。