В этом руководстве рассказывается, как включить отзывы в приложении с помощью необязательного SDK Firebase App Distribution для Android, чтобы тестировщики могли отправлять отзывы (в том числе скриншоты) прямо в приложении.
Подготовка
Если вы ещё этого не сделали, добавьте Firebase в проект для Android.
Шаг 1. Включите App Distribution Tester API
Откройте консоль Google Cloud и выберите проект Firebase.
В разделе Firebase App Testers API нажмите Enable (Включить).
Шаг 2. Добавьте App Distribution в приложение
Android SDK App Distribution состоит из двух библиотек:
firebase-appdistribution-api– библиотека, содержащая только API, которую можно включить во все варианты сборки.firebase-appdistribution– полная реализация SDK (необязательно).
Библиотека API-only позволяет вашему коду вызывать SDK. Если SDK не реализован полностью, вызовы не будут работать.
Объявите зависимость для App Distribution Android SDK в модульном файле Gradle на уровне приложения (обычно
<project>/<app-module>/build.gradle.ktsили<project>/<app-module>/build.gradle).Чтобы не включать в сборки для Google Play полную реализацию функции самообновления SDK, определите варианты сборки, включая типы сборки или версии продукта, которые вы будете распространять через App Distribution.
Объявите зависимость для App Distribution Android SDK в файле Gradle модуля (на уровне приложения), который обычно называется
app/build.gradle. Добавляйте полную реализацию SDK только в варианты, предназначенные исключительно для тестирования предварительных выпусков.Kotlin
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta21") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta21") }
Java
dependencies { // ADD the API-only library to all variants implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta21") // ADD the full SDK implementation to the "beta" variant only (example) betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta21") }
Ищете модуль библиотеки для Kotlin? Начиная с октября 2023 года, разработчики, использующие Kotlin и Java, могут полагаться на основной модуль библиотеки. Подробную информацию вы найдете в разделе часто задаваемых вопросов.
Шаг 3. Настройте отзывы в приложении
Чтобы собирать отзывы тестировщиков, используйте один из следующих триггеров:
Встроенный триггер уведомлений. App Distribution Android 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.
Распространите выпуск приложения в аккаунте, к которому у вас есть доступ.
Скачайте приложение через веб-приложение или приложение для тестирования на Android от компании "App Distribution".
Запустите механизм обратной связи, настроенный на шаге 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 и войдите в него.
Инициализируйте Cloud Functions for Firebase с помощью интерфейса командной строки Firebase.
Напишите и разверните функцию, которая будет фиксировать событие оповещения об отзыве в приложении из App Distribution и обрабатывать полезную нагрузку события (например, публиковать информацию об оповещении в сообщении в Discord).
Пример функции, которая показывает, как отправлять новые отзывы в Jira, можно найти в примере функций.
Чтобы узнать больше о событиях, которые могут вызывать оповещения, ознакомьтесь со справочной документацией по оповещениям App Distribution.