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

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

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

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

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

  1. Open the Google Cloud console and select your Firebase project.

  2. Under the Firebase App Testers API, click Enable .

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

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

  • firebase-appdistribution-api : The API-only library, which you can include in all build variants .
  • firebase-appdistribution : The full SDK implementation (optional).

The API-only library lets your code make calls to the SDK. The calls have no effect if the full SDK implementation is not present.

  1. Declare the dependency for the App Distribution Android SDK in your module (app-level) Gradle file (usually <project>/<app-module>/build.gradle.kts or <project>/<app-module>/build.gradle ).

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

  3. Укажите зависимость от 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-beta18")
    }

    Java

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

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

To collect feedback from your testers, use one of the following triggers to enable testers to initiate feedback:

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

  • Custom trigger : You can provide your own trigger mechanism, like tapping a button or menu item in your app or shaking the device.

When you use either of these triggers and the tester submits feedback, the Android SDK performs the following actions:

  1. Captures a screenshot of the app's current activity.

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

  3. Starts a full-screen activity that lets the tester write and submit their feedback.

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

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

To test your implementation without having to distribute the app first, follow these steps:

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

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

  3. After testing, you can disable dev mode on your device:

    adb shell setprop debug.firebase.appdistro.devmode false

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

To test that your app can send feedback, build your app as a pre-release variant that includes the full App Distribution libraries, and test your implementation following these steps:

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

  2. Distribute the app release to an account you have permission to access.

  3. Download the app through App Distribution 's web or Android tester app.

  4. Trigger feedback using the mechanism implemented in Step 3: Configure in-app feedback .

  5. Ensure you're signed in with the same account to which you distributed the app release, and submit feedback.

  6. View your feedback in the new release's card in the Firebase console .

To learn how to resolve common issues, like testers unable to start feedback in the app, see Enabling testing features with the SDK .

Шаг 5: Управление отзывами тестировщиков

After you enable your testers to send feedback, you can use the following tools to review and act on that feedback:

Просматривайте и удаляйте отзывы в консоли Firebase

Вы можете просматривать и удалять отзывы пользователей, включая скриншоты, открыв вкладку « Отзывы тестировщиков» в консоли Firebase для конкретного релиза. Отзывы пользователей организованы по релизам, поэтому вы можете подтвердить, к какой версии относится данный отзыв.

After reviewing user feedback, you can delete that feedback by clicking the Delete feedback button. The deleted feedback is removed from your release.

Получайте уведомления по электронной почте о новых отзывах.

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

Для получения уведомлений по электронной почте App Distribution с помощью этого механизма по умолчанию необходимо иметь разрешение firebase.projects.update . Следующие роли по умолчанию обладают этим необходимым разрешением: администратор Firebase , владелец проекта или редактор .

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

To disable email alerts, see Receive Firebase alerts .

Отправляйте новые отзывы сторонним инструментам

Вы также можете отправлять оповещения 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. Write and deploy a function that captures an in-app feedback alert event from App Distribution and handles the event payload (for example, posts the alert information in a message on Discord).

To see an example function that shows you how to send new feedback to Jira, refer to this sample .

To learn about all of the alert events that you can capture, see the reference documentation for App Distribution alerts .