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:
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()))
 
}
}

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

   
public void lowBattery(int battery) {
       
final Collection

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

val reporter = FakeKeyedAppStatesReporter();
val batteryManager = BatteryManager(reporter);
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:

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

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

assertThat(reporter.uploadedKeyedAppStatesByKey["battery"]).isNotNull()
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