收集測試人員的意見回饋

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

事前準備

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

步驟 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+KTX

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

    Java

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

步驟 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
    

端對端測試

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

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

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

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

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

  5. 請確認您已登入用於發布應用程式版本的帳戶,並提交意見回饋。

  6. Firebase 控制台的新版本資訊卡中查看意見回饋。

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

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

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

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

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

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

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

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

如要透過這個預設機制接收 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 快訊的參考說明文件。