В этом руководстве описано, как включить обратную связь внутри приложения с помощью дополнительного Android SDK Firebase App Distribution , чтобы ваши тестировщики могли отправлять отзывы (включая скриншоты) непосредственно в приложении.
Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой Android-проект .
Шаг 1: Включите API App Distribution Tester.
Откройте консоль Google Cloud и выберите свой проект Firebase.
В разделе Firebase App Testers API нажмите «Включить» .
Шаг 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
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-beta17") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta17") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta17") }
Шаг 3: Настройка обратной связи в приложении
Для сбора отзывов от тестировщиков используйте один из следующих триггеров, чтобы дать тестировщикам возможность инициировать обратную связь:
Встроенный триггер уведомлений : Android SDK App Distribution может отображать постоянно действующее уведомление, на которое тестировщик может нажать в любом месте приложения. Используйте этот триггер, если хотите быстрее начать работу и вам не нужно настраивать способ предоставления обратной связи тестировщиками.
Пользовательский триггер : Вы можете указать собственный механизм срабатывания, например, нажатие кнопки или пункта меню в вашем приложении или встряхивание устройства.
При использовании любого из этих триггеров и отправке тестировщиком отзыва, 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» .
Отправляйте новые отзывы сторонним инструментам
Вы также можете отправлять оповещения 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 CLI.
Напишите и разверните функцию , которая перехватывает событие оповещения об обратной связи в приложении из App Distribution и обрабатывает полезную нагрузку события (например, отправляет информацию об оповещении в сообщении в Discord).
Чтобы увидеть пример функции, демонстрирующей отправку новых отзывов в Jira, обратитесь к этому примеру .
Чтобы узнать обо всех событиях оповещения, которые вы можете отслеживать, см. справочную документацию по оповещениям App Distribution .