Собирайте обратную связь от тестировщиков

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

Прежде чем начать

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

Шаг 1: включите API App Distribution Tester

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

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

Шаг 2: Добавьте App Distribution в свое приложение

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

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

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

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

  2. Чтобы избежать включения функции самостоятельного обновления полной реализации SDK в ваши сборки Google Play, определите варианты сборок, включая типы сборок или версии продукта , которые вы будете распространять через 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-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-beta16")
    }

    Java

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

Шаг 3: Настройте обратную связь в приложении

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

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

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

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

  1. Делает снимок экрана текущей активности приложения.

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

  3. Запускает полноэкранное действие, позволяющее тестировщику писать и отправлять свои отзывы.

Вариант 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 CLI.

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

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

Чтобы увидеть пример функции, показывающей, как отправлять новые отзывы в Jira, обратитесь к этому примеру .

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