Отзыв о тестовом приложении

После того как вы обновите приложение, чтобы оно поддерживало отправку отзывов в виде состояний приложения с ключом, вы можете использовать инструкции на этой странице, чтобы настроить модульное тестирование и отправить тестовый отзыв в тестовый контроллер правил для устройств (DPC).

Настройте модульное тестирование

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

Шаг 1. Настройте классы так, чтобы они принимали KeyedAppStatesReporter в качестве параметра

Вместо того чтобы вызывать create() напрямую, измените классы так, чтобы они принимали KeyedAppStatesReporter в качестве параметра, как в примере класса BatteryManager ниже:

Kotlin

class BatteryManager(val reporter:KeyedAppStatesReporter) {
  fun lowBattery(battery:Int) {
    reporter.setStatesImmediate(
        hashSetOf(KeyedAppState.builder()
           .setKey("battery")
           .setSeverity(KeyedAppState.SEVERITY_INFO)
           .setMessage("Battery is low")
           .setData(battery.toString())
           .build()))
  }
}

Java

public class BatteryManager {
    private final KeyedAppStatesReporter reporter;
    public BatteryManager(KeyedAppStatesReporter reporter) {
        this.reporter = reporter;
    }

    public void lowBattery(int battery) {
        final Collection states = new HashSet<>();
        states.add(KeyedAppState.builder()
            .setKey("battery")
            .setSeverity(KeyedAppState.SEVERITY_INFO)
            .setMessage("Battery is low")
            .setData(Integer.toString(battery))
            .build();
        reporter.setStatesImmediate(states);
    }
}

Затем используйте KeyedAppStatesReporter.create, чтобы получить экземпляр, который будет передаваться везде, где создается BatteryManager.

Шаг 2. Добавьте библиотеку тестирования отзывов в файл build.gradle

Добавьте в файл build.gradle своего приложения следующую зависимость:

dependencies {
    testImplementation 'androidx.enterprise:enterprise-feedback-testing:1.0.0'
}

Шаг 3. Создайте объект FakeKeyedAppStatesReporter и передайте его в класс

Kotlin

val reporter = FakeKeyedAppStatesReporter();
val batteryManager = BatteryManager(reporter);

Java

FakeKeyedAppStatesReporter reporter = new FakeKeyedAppStatesReporter();
BatteryManager batteryManager = new BatteryManager(reporter);

Шаг 4. Проверьте взаимодействия с FakeKeyedAppStatesReporter

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

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

assertThat(reporter.getKeyedAppStates()).isEmpty();

или что запрашивается загрузка определенного состояния:

Kotlin

assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()

Java

assertThat(reporter.getUploadedKeyedAppStatesByKey().get("battery")).isNotNull();

Отправить тестовый отзыв в Test DPC

Вы можете скачать пример контроллера политик на устройствах (Test DPC), который может получать отзывы о приложениях.

Шаг 1. Установите Test DPC

Установите последнюю версию Test DPC из Google Play. Затем назначьте Test DPC администратором устройства:

adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver

Шаг 2. Включите уведомления об отзывах о приложении

В меню Test DPC включите параметр App feedback notifications (Уведомления об отзывах о приложении).

включить уведомления

Активируйте событие, которое задает состояние приложения с ключом. Если все пройдет успешно, Test DPC покажет отзыв в уведомлениях.

Показан отзыв