Собирайте отзывы тестировщиков

В этом руководстве рассказывается, как включить отзывы в приложении с помощью необязательного Firebase App Distribution Android SDK, чтобы тестировщики могли отправлять отзывы (в том числе со скриншотами) прямо из приложения.

Подготовка

Если вы ещё этого не сделали, добавьте Firebase в проект для Android.

Шаг 1. Включите App Distribution Tester API

  1. Откройте консоль Google Cloud и выберите проект Firebase.

  2. В разделе Firebase App Testers API нажмите Включить.

Шаг 2. Добавьте в приложение значок App Distribution

Android SDK App Distribution состоит из двух библиотек:

  • firebase-appdistribution-api – библиотека, предназначенная только для API. Ее можно включить во все варианты сборки.
  • firebase-appdistribution – полная реализация SDK (необязательно).

Библиотека API позволяет коду вызывать SDK. Если SDK не реализован полностью, эти вызовы не будут иметь никакого эффекта.

  1. Объявите зависимость для Android SDK App Distribution в модульном файле Gradle на уровне приложения (обычно <project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle).

  2. Чтобы избежать включения в сборки Google Play полной реализации SDK с функцией автоматического обновления, определите варианты сборки, в том числе типы сборки или вкусы продукта, которые вы будете распространять через App Distribution.

  3. Объявите зависимость для 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-beta20")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta20")
    }

    Java

    dependencies {
        // ADD the API-only library to all variants
        implementation("com.google.firebase:firebase-appdistribution-api:16.0.0-beta20")
    
        // ADD the full SDK implementation to the "beta" variant only (example)
        betaImplementation("com.google.firebase:firebase-appdistribution:16.0.0-beta20")
    }

Ищете модуль библиотеки, предназначенный для Kotlin? Начиная с октябрьского выпуска 2023 г., разработчики на Kotlin и Java могут использовать основной модуль библиотеки. Подробнее об этой инициативе…

Шаг 3. Настройте функцию отправки отзывов в приложении

Чтобы собирать отзывы тестировщиков, используйте один из следующих триггеров, чтобы тестировщики могли отправлять отзывы:

  • Встроенный триггер уведомлений. Android SDK App Distribution может показывать текущее уведомление, на которое тестировщик может нажать в любой части приложения. Используйте этот триггер, если вы хотите быстро начать тестирование и вам не нужно настраивать способ отправки отзывов.

  • Специальный триггер. Вы можете задать собственный триггер, например нажатие кнопки или пункта меню в приложении или встряхивание устройства.

Когда вы используете один из этих триггеров и тестировщик отправляет отзыв, Android SDK выполняет следующие действия:

  1. Создает скриншот текущей активности приложения.

  2. Проверяет, включил ли тестировщик функции тестирования SDK. Если функции тестирования не включены, Android SDK предложит тестировщику войти в App Distribution с помощью аккаунта Google.

  3. Запускает полноэкранный объект Activity, в котором тестировщик может написать и отправить отзыв.

Вариант 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. Создайте и протестируйте реализацию

Локальное тестирование

Чтобы протестировать реализацию, не распространяя приложение, выполните следующие действия:

  1. Включите режим разработчика на локальном устройстве:

    adb shell setprop debug.firebase.appdistro.devmode true
  2. Создайте предварительную версию приложения, в которую входят все библиотеки App Distribution, и проверьте, можно ли отправить отзыв с помощью механизма, реализованного в шаге 3. Отзывы не отправляются, когда устройство находится в режиме разработчика.

  3. После тестирования вы можете отключить режим разработчика на устройстве:

    adb shell setprop debug.firebase.appdistro.devmode false

Сквозное тестирование

Чтобы проверить, может ли ваше приложение отправлять отзывы, создайте предварительную версию приложения, в которую включены все библиотеки App Distribution, и выполните следующие действия:

  1. Загрузите новую версию приложения в App Distribution.

  2. Распространите версию приложения на аккаунт, к которому у вас есть доступ.

  3. Скачайте приложение на сайте компании "App Distribution" или в приложении для тестирования на устройстве Android.

  4. Запустите механизм обратной связи, реализованный на шаге 3.

  5. Войдите в аккаунт, в котором вы распространяли версию приложения, и отправьте отзыв.

  6. Отзывы о новой версии можно посмотреть на карточке в консоли 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, выполните следующие действия:

  1. Настройте Cloud Functions for Firebase, выполнив следующие задачи:

    1. Скачайте Node.js и npm.

    2. Установите и запустите интерфейс командной строки Firebase.

    3. Инициализируйте Cloud Functions for Firebase с помощью интерфейса командной строки Firebase.

  2. Напишите и разверните функцию, которая будет регистрировать событие оповещения об отзыве в приложении из App Distribution и обрабатывать полезную нагрузку события (например, публиковать информацию об оповещении в сообщении в Discord).

Пример функции, которая показывает, как отправлять новые отзывы в Jira, можно найти в образце функций.

Чтобы узнать больше о событиях оповещений, которые можно отслеживать, ознакомьтесь со справочной документацией по оповещениям App Distribution.