Feedback dell'app di prova

Dopo aver aggiornato l'app per supportare l'invio di feedback sotto forma di stati dell'app con chiave, puoi usare le indicazioni in questa pagina per configurare i test delle unità e inviare un feedback del test a un criterio relativo ai dispositivi di test il controller (DPC).

Configurare i test delle unità

Questa sezione fornisce esempi di come configurare i test delle unità per controllare che la tua app interagisca con stati dell'app con chiavi come previsto.

Passaggio 1: configura i tuoi corsi in modo che accettino KeyedAppStatesReporter come parametro

Anziché chiamare direttamente create(), modifica i tuoi corsi per accettare KeyedAppStatesReporter come parametro come nell'esempio BatteryManager seguente:

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

Poi usa KeyedAppStatesReporter.create per far passare un'istanza ovunque sia creato BatteryManager.

Passaggio 2: aggiungi la libreria di test del feedback aziendale al file build.gradle

Aggiungi la seguente dipendenza al parametro File build.gradle:

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

Passaggio 3: crea un FakeKeyedAppStatesReporter e passalo al corso

Kotlin

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

Java

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

Passaggio 4: dichiara le interazioni con FakeKeyedAppStatesReporter

Ad esempio, per verificare che non sia stato impostato alcuno stato:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Oppure che è stato richiesto il caricamento di uno stato particolare:

Kotlin

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

Java

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

Invia feedback sul test al DPC di test

Un controller dei criteri dei dispositivi di esempio chiamato DPC di test, è in grado di ricevere feedback sull'app ed è disponibile per scaricare l'app.

Passaggio 1: installa il DPC di test

Installa la versione più recente di Test DPC dal Play Store. Quindi, imposta DPC di test come amministratore del dispositivo:

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

Passaggio 2: attiva le notifiche di feedback sull'app

Nel menu del DPC di prova, attiva Notifiche di feedback sulle app.

attiva le notifiche

Attiva un evento che imposta uno stato dell'app con chiavi. Se l'esito è positivo, il DPC di test mostrerà il feedback nelle notifiche:

feedback visualizzato