В этом руководстве описывается, как включить обратную связь в приложении с помощью дополнительного Android SDK Firebase App Distribution , чтобы ваши тестировщики могли отправлять отзывы (включая снимки экрана) непосредственно в приложении.
Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Шаг 1. Включите API тестера App Distribution .
Откройте консоль Google Cloud и выберите свой проект Firebase.
В разделе API Firebase App Testers нажмите «Включить» .
Шаг 2. Добавьте App Distribution в свое приложение
Android SDK App Distribution состоит из двух библиотек:
-
firebase-appdistribution-api
: библиотека только для API, которую вы можете включить во все варианты сборки . -
firebase-appdistribution
: полная реализация SDK (необязательно).
Библиотека только для API позволяет вашему коду вызывать SDK. Вызовы не имеют никакого эффекта, если отсутствует полная реализация SDK.
Объявите зависимость для Android SDK для App Distribution в файле Gradle вашего модуля (на уровне приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
).Чтобы избежать включения функции самообновления полной реализации SDK в ваши сборки Google Play, определите варианты сборки, включая типы сборок или варианты продуктов , которые вы будете распространять через App Distribution .
Объявите зависимость для Android SDK App Distribution в файле Gradle вашего модуля (на уровне приложения) (обычно
app/build.gradle
). Добавляйте полную реализацию 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. Настройте обратную связь в приложении
Чтобы получить отзывы от тестировщиков, используйте один из следующих триггеров, позволяющих тестировщикам инициировать обратную связь:
Встроенный триггер уведомлений . Android SDK App Distribution может отображать постоянное уведомление, которое тестировщик может нажать в любом месте приложения. Используйте этот триггер, если вы хотите быстрее приступить к работе и вам не нужно настраивать способ предоставления обратной связи вашими тестировщиками.
Пользовательский триггер : вы можете создать собственный механизм триггера, например нажатие кнопки или пункта меню в приложении или встряхивание устройства.
Когда вы используете любой из этих триггеров и тестер отправляет отзыв, Android SDK выполняет следующие действия:
Делает снимок экрана текущей активности приложения.
Выполняет проверки, чтобы убедиться, что тестер включил функции тестирования SDK. Если функции тестирования не включены, Android SDK предложит тестировщику войти в App Distribution используя свою учетную запись 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
Создайте предварительную версию своего приложения, включающую все библиотеки 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 .
Отправляйте новые отзывы сторонним инструментам
Вы также можете отправлять оповещения App Distribution на предпочтительный канал уведомлений вашей команды с помощью Cloud Functions for Firebase . Например, вы можете написать функцию, которая фиксирует событие оповещения для получения новых отзывов в приложении и отправляет информацию оповещения в стороннюю службу, такую как Discord, Slack или Jira.
Чтобы настроить расширенные возможности оповещений с помощью Cloud Functions for Firebase , выполните следующие действия:
Настройте Cloud Functions for Firebase , которая включает в себя следующие задачи:
Загрузите Node.js и npm.
Установите и войдите в Firebase CLI.
Инициализируйте Cloud Functions for Firebase с помощью интерфейса командной строки Firebase .
Напишите и разверните функцию , которая фиксирует событие оповещения обратной связи в приложении из App Distribution и обрабатывает полезную нагрузку события (например, публикует информацию оповещения в сообщении на Discord).
Чтобы увидеть пример функции, показывающей, как отправить новый отзыв в Jira, обратитесь к этому примеру .
Чтобы узнать обо всех событиях оповещений, которые вы можете зафиксировать, см. справочную документацию по оповещениям App Distribution .