本指南說明如何使用選用的 Firebase App Distribution Android SDK 啟用應用程式內意見回饋功能,讓測試人員可直接在應用程式中提交意見回饋 (包括螢幕截圖)。
事前準備
如果您尚未將 Firebase 新增至 Android 專案,請新增 Firebase。
步驟 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+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 會執行下列動作:
擷取應用程式目前活動的螢幕截圖。
執行檢查,確保測試人員已啟用 SDK 的測試功能。如果未啟用測試功能,Android SDK 會提示測試人員使用 Google 帳戶登入 App Distribution。
啟動全螢幕活動,讓測試人員撰寫並提交意見回饋。
選項 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:建構及測試導入作業
本機測試
如要測試導入成果,而不必先發布應用程式,請按照下列步驟操作:
在本機裝置上啟用開發人員模式:
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 控制台中開啟特定版本下的「測試人員意見回饋」分頁,查看及刪除使用者意見回饋 (包括螢幕截圖)。使用者意見回饋會依版本分類,方便您確認意見回饋適用的版本。
查看使用者意見回饋後,您可以按一下「Delete feedback」按鈕刪除該意見回饋。系統會從發布內容中移除已刪除的意見回饋。
接收新意見回饋的電子郵件快訊
為主動瞭解新測試人員的意見回饋,您可以在測試人員提交意見回饋時收到電子郵件快訊。電子郵件快訊會附上測試人員提供的書面意見,以及他們提交的所有螢幕截圖連結。
如要透過這個預設機制接收 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 快訊的參考說明文件。