Feedback do app de teste

Depois de atualizar seu app para oferecer suporte ao envio de feedback na forma de estados do app com chave, use as orientações nesta página para configurar testes de unidade e enviar feedback de teste para uma política de dispositivo de teste DPC.

Configurar testes de unidade

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

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

Em vez de chamar create() diretamente, modifique suas classes para aceitar KeyedAppStatesReporter como um parâmetro, como no exemplo 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 receber uma instância a ser transmitida sempre que BatteryManager for criado.

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

Adicione a seguinte dependência ao arquivo Arquivo build.gradle:

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 de 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 do Test DPC na 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 de teste do DPC, ative as Notificações de feedback do app.

ativar notificações

Acionar um evento que define um estado do app com chave. Se bem-sucedido, o DPC de teste vai aparecer o feedback nas notificações:

feedback exibido