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