Feedback zur Test-App

Nachdem Sie Ihre App aktualisiert haben, um das Senden von Feedback in Form von verschlüsselten App-Status zu unterstützen, können Sie mithilfe der Anleitung auf dieser Seite Einheitentests einrichten und Testfeedback an einen Test Device Policy Controller (DPC) senden.

Einheitentests einrichten

In diesem Abschnitt finden Sie Beispiele für das Einrichten von Unittests, um zu prüfen, ob Ihre Anwendung wie erwartet mit Schlüssel-App-Status interagiert.

Schritt 1: Klassen so einrichten, dass sie KeyedAppStatesReporter als Parameter akzeptieren

Anstatt create() direkt aufzurufen, ändern Sie Ihre Klassen so, dass KeyedAppStatesReporter als Parameter akzeptiert wird, wie im folgenden Beispiel der BatteryManager-Klasse:

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 Instanz abzurufen, die dort bestanden wird, wo BatteryManager erstellt wurde.

Schritt 2: Der build.gradle-Datei die Bibliothek für Enterprise Feedback Testing hinzufügen

Fügen Sie der Datei build.gradle Ihrer App die folgende Abhängigkeit hinzu:

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

Schritt 3: FakeKeyedAppStatesReporter erstellen und an den 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 können Sie beispielsweise prüfen, ob keine Status festgelegt wurden:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Oder dass der Upload eines bestimmten Bundesstaates angefordert wurde:

Kotlin

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

Java

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

Testfeedback an Test-DPC senden

Ein beispielhafter Device Policy Controller namens Test-DPC kann App-Feedback empfangen und ist zum Download verfügbar.

Schritt 1: Test-DPC installieren

Installiere 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: Benachrichtigungen für App-Feedback aktivieren

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

Benachrichtigungen aktivieren

Ein Ereignis auslösen, das einen verschlüsselten App-Status festlegt. Wenn der Vorgang erfolgreich war, wird das Feedback von Test-DPC in Benachrichtigungen angezeigt:

Feedback angezeigt