Feedback zur Test-App

Nachdem du deine App so aktualisiert hast, dass sie Feedback in Form von codierten App-Status senden kann, kannst du Anleitungen auf dieser Seite zum Einrichten von Unittests und zum Senden von Testfeedback an eine Testgeräterichtlinie Controller (DPC).

Einheitentests einrichten

Dieser Abschnitt enthält Beispiele für die Einrichtung von Unittests, um zu prüfen, ob Ihre App mit codierten App-Status wie erwartet.

Schritt 1: Klassen so einrichten, dass KeyedAppStatesReporter als Parameter akzeptiert wird

Anstatt create() direkt aufzurufen, ändern Sie Ihre Kurse so, dass sie akzeptiert werden. KeyedAppStatesReporter als Parameter wie im Beispiel BatteryManager. Klasse unten:

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

Verwenden Sie als Nächstes KeyedAppStatesReporter.create, um eine zu übergebende Instanz abzurufen. überall dort, wo BatteryManager erstellt wird.

Schritt 2: Der build.gradle-Datei die Testbibliothek für Unternehmensfeedback hinzufügen

Fügen Sie die folgende Abhängigkeit zum build.gradle-Datei:

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

Schritt 3: FakeKeyedAppStatesReporter erstellen und an Ihren Kurs übergeben

Kotlin

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

Java

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

Schritt 4: Interaktionen mit FakeKeyedAppStatesReporter bestätigen

So prüfen Sie beispielsweise, ob keine Status festgelegt wurden:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Oder dass ein bestimmter Bundesstaat zum Hochladen angefordert wurde:

Kotlin

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

Java

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

Testfeedback an Test-DPC senden

Ein Beispiel für einen Device Policy Controller Test-DPC genannt, kann App-Feedback erhalten und steht herunterladen.

Schritt 1: Test-DPC installieren

Installieren Sie die neueste Version von Test DPC. aus dem Play Store. Legen Sie als Nächstes Test-DPC als Administrator des Geräts fest:

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

Schritt 2: App-Feedback-Benachrichtigungen aktivieren

Aktivieren Sie im Menü von Test-DPC die Option App-Feedback-Benachrichtigungen.

Benachrichtigungen aktivieren

Ein Ereignis auslösen, das einen verschlüsselten App-Status festlegt. Bei Erfolg wird Test-DPC angezeigt. Feedback in den Benachrichtigungen:

Feedback angezeigt