Feedback do app de teste

Depois de atualizar seu app para oferecer suporte ao envio de feedback na forma de estados de app codificados, use as orientações desta página para configurar testes de unidade e enviar feedback a um controlador de política de dispositivo (DPC) de teste.

Configurar testes de unidade

Esta seção fornece exemplos de como configurar testes de unidade para verificar se o app interage com os estados do app codificado conforme o esperado.

Etapa 1: configurar suas classes para aceitar KeyedAppStatesReporter como parâmetro

Em vez de chamar create() diretamente, modifique suas classes para aceitar KeyedAppStatesReporter como um parâmetro, como no exemplo da classe BatteryManager abaixo:

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);
    }
}

Em seguida, use KeyedAppStatesReporter.create para que uma instância seja transmitida onde BatteryManager for criado.

Etapa 2: adicionar a biblioteca de testes de feedback da empresa ao arquivo build.gradle

Adicione a dependência abaixo ao arquivo build.gradle do seu app:

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

Etapa 3: criar um FakeKeyedAppStatesReporter e transmiti-lo para a classe

Kotlin

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

Java

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

Etapa 4: declarar interações com FakeKeyedAppStatesReporter

Por exemplo, para verificar se nenhum estado foi definido:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

ou que o upload de um estado específico foi solicitado:

Kotlin

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

Java

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

Enviar feedback do teste para o DPC de teste

Um exemplo de controlador de política de dispositivo, chamado DPC de teste, é capaz de receber feedback do app e está disponível para download.

Etapa 1: instalar o DPC de teste

Instale a versão mais recente de Test DPC pela Play Store. Em seguida, defina o DPC de teste como o administrador do dispositivo:

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

Etapa 2: ativar as notificações de feedback do app

No menu "Testar DPC", ative a opção Notificações de feedback do app.

ativar notificações

Acione um evento que defina um estado de app com chave. Se for bem-sucedido, o DPC de teste mostrará o feedback nas notificações:

feedback exibido