本指南說明如何使用選用的 Firebase 應用程式發布 Android SDK 啟用應用程式內意見回饋,讓測試人員能在應用程式中直接提交意見回饋 (包括螢幕截圖)。
事前準備
如果您尚未將 Firebase 新增至 Android 專案,請先完成這項操作。
步驟 1:啟用 App Distribution Tester API
開啟 Google Cloud 控制台,然後選取 Firebase 專案。
按一下 Firebase App Testers API 下方的「啟用」。
步驟 2:將應用程式發布加入應用程式
應用程式發布 Android SDK 包含兩個程式庫:
firebase-appdistribution-api
:僅限 API 的程式庫,可納入所有建構變化版本。firebase-appdistribution
:完整的 SDK 實作 (選用)。
僅限 API 的程式庫可讓程式碼呼叫 SDK。如果未顯示完整的 SDK 實作,這些呼叫就不會生效。
在模組 (應用程式層級) Gradle 檔案中宣告應用程式發布 Android SDK 的依附元件 (通常為
<project>/<app-module>/build.gradle.kts
或<project>/<app-module>/build.gradle
)。為避免在 Google Play 版本中加入完整 SDK 實作的自我更新功能,請找出建構變數,包括您透過應用程式發布發行的建構類型或變種版本。
在模組 (應用程式層級) Gradle 檔案 (通常為
app/build.gradle
) 中宣告應用程式發布 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-beta13") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta13") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta13") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta13") }
步驟 3:設定應用程式內意見回饋
如要收集測試人員的意見回饋,請使用下列其中一項觸發條件讓測試人員啟動意見回饋:
內建通知觸發條件:應用程式發布 Android SDK 可顯示持續性通知,測試人員可從應用程式中的任何位置輕觸。如果想更快上手,且不需要自訂測試人員提供意見回饋的方式,請使用這項觸發條件。
自訂觸發條件:您可以提供自己的觸發機制,例如輕觸應用程式中的按鈕或選單項目,或是搖動裝置。
使用其中一種觸發條件且測試人員提交意見回饋時,Android SDK 會執行下列動作:
擷取應用程式目前活動的螢幕截圖。
執行檢查,確保測試人員已啟用 SDK 的測試功能。如未啟用測試功能,Android SDK 會提示測試人員使用 Google 帳戶登入應用程式發布。
啟動一個全螢幕活動,讓測試人員撰寫及提交意見回饋。
選項 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
將應用程式建構為包含完整應用程式發布程式庫的預先發布版變化版本,測試是否能使用「步驟 3:設定應用程式內意見回饋」中實作的機制觸發意見回饋。在開發模式下,系統不會提交意見回饋。
測試完畢後,您可以停用裝置上的開發人員模式:
adb shell setprop debug.firebase.appdistro.devmode false
端對端測試
如要測試應用程式能否傳送意見回饋,請將應用程式建構為包含完整應用程式發布程式庫的預先發布版變化版本,然後測試實作項目:
將新的應用程式版本上傳至「應用程式發布」。
將應用程式版本發行到您有權存取的帳戶。
透過「應用程式發布」的網頁或 Android 測試人員應用程式下載應用程式。
使用「步驟 3:設定應用程式內意見回饋」中實作的機制觸發意見回饋。
請務必使用發行應用程式版本的帳戶登入,然後提交意見回饋。
前往 Firebase 主控台,在新版本的資訊卡中查看意見回饋。
如要瞭解如何解決常見問題 (例如測試人員無法在應用程式中啟動意見回饋),請參閱「啟用 SDK 測試功能」。
步驟 5:管理測試人員的意見回饋
允許測試人員傳送意見回饋後,您可以使用下列工具查看意見回饋並採取行動:
在 Firebase 控制台中查看及刪除意見回饋
如要查看及刪除使用者意見回饋 (包括螢幕截圖),請前往 Firebase 控制台的特定版本下方的「測試人員意見回饋」分頁。使用者意見回饋會按版本分類,方便您確認意見回饋適用的版本。
查看使用者意見回饋後,您可以按一下「Delete feedback」(刪除意見回饋) 按鈕,刪除該意見回饋。刪除的意見回饋會從版本中移除。
接收新意見回饋的電子郵件快訊
如要主動掌握新的測試人員意見回饋,您可以在測試人員提交意見回饋時收到電子郵件快訊。電子郵件快訊會包含測試人員提供的書面意見回饋,以及他們提交的螢幕截圖連結。
如要透過這個預設機制接收應用程式發布電子郵件快訊,您必須具備 firebase.projects.update
權限。下列角色預設包含這項必要權限:Firebase 管理員或專案擁有者或編輯者。
根據預設,每當有人提交新的意見回饋報告時,凡是具備接收電子郵件快訊的必要權限,都會收到電子郵件。專案成員可個別選擇不接收這類快訊。
如要停用電子郵件快訊,請參閱「接收 Firebase 快訊」。
向第三方工具傳送新意見回饋
您也可以使用 Cloud Functions for Firebase,將應用程式發布快訊傳送至團隊偏好的通知管道。例如,您可以編寫函式來擷取應用程式內新意見回饋的快訊事件,並將快訊資訊發布至 Discord、Slack 或 Jira 等第三方服務。
如要使用 Cloud Functions for Firebase 設定進階快訊功能,請按照下列步驟操作:
設定 Cloud Functions for Firebase,其中包含下列工作:
下載 Node.js 和 npm。
安裝並登入 Firebase CLI。
使用 Firebase CLI 初始化 Cloud Functions for Firebase。
編寫及部署函式,從應用程式發布中擷取應用程式內意見回饋快訊事件,並處理事件酬載 (例如在 Discord 的訊息中張貼快訊資訊)。
如要查看有關如何傳送新意見回饋給 Jira 的函式範例,請參閱此範例。
如要瞭解您可以擷取的所有快訊事件,請參閱「應用程式發布快訊」的參考說明文件。