本指南說明如何使用選用的 Firebase App Distribution Android SDK 啟用應用程式內意見回饋功能,讓測試人員直接在應用程式中提交意見回饋 (包括螢幕截圖)。
事前準備
如果您尚未將 Firebase 新增至 Android 專案,請先新增。
步驟 1:啟用 App Distribution Tester API
開啟 Google Cloud 控制台,然後選取 Firebase 專案。
在 Firebase App Testers API 下方,按一下「啟用」。
步驟 2:在應用程式中加入 App Distribution
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
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 會執行下列動作:
擷取應用程式目前活動的螢幕截圖。
執行檢查,確保測試人員已啟用 SDK 的測試功能。如果測試功能未啟用,Android SDK 會提示測試人員登入 App Distribution Google 帳戶。
啟動全螢幕活動,讓測試人員撰寫及提交意見回饋。
選項 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:建構及測試導入成果
本機測試
如要測試實作項目,不必先發布應用程式,請按照下列步驟操作:
在本機裝置上啟用開發人員模式:
adb shell setprop debug.firebase.appdistro.devmode true
將應用程式建構為包含完整App Distribution程式庫的預先發布變體,並測試您是否能使用步驟 3:設定應用程式內意見回饋中實作的機制觸發意見回饋。處於開發人員模式時,系統不會提交意見回饋。
測試完成後,您可以在裝置上停用開發人員模式:
adb shell setprop debug.firebase.appdistro.devmode false
端對端測試
如要測試應用程式是否可以傳送意見回饋,請將應用程式建構為包含完整 App Distribution 程式庫的預先發布變體,然後按照下列步驟測試實作項目:
將新版應用程式上傳至 App Distribution。
將應用程式版本發布至您有權存取的帳戶。
透過「App Distribution」網站或 Android 測試人員應用程式下載應用程式。
使用在「步驟 3:設定應用程式內意見回饋」中實作的機制,觸發意見回饋。
請務必登入發布應用程式版本的帳戶,然後提交意見回饋。
在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 設定進階快訊功能,請按照下列步驟操作:
設定 Cloud Functions for Firebase, 包括下列工作:
下載 Node.js 和 npm。
安裝並登入 Firebase CLI。
使用 Firebase CLI 初始化 Cloud Functions for Firebase。
編寫及部署函式,從 App Distribution 擷取應用程式內意見回饋快訊事件,並處理事件酬載 (例如在 Discord 訊息中發布快訊資訊)。
如要查看範例函式,瞭解如何將新意見回饋傳送至 Jira,請參閱這個範例。
如要瞭解可擷取的所有快訊事件,請參閱App Distribution 快訊的參考文件。