בדיקת משוב על האפליקציה

אחרי שמעדכנים את האפליקציה כך שתתמוך בשליחת משוב בצורת מצבי המפתח של האפליקציה, אפשר להשתמש יש בדף הזה הנחיות להגדרת בדיקות יחידה ולשליחת משוב בדיקה למדיניות של מכשיר בדיקה בקר (DPC).

הגדרה של בדיקות יחידה

בקטע הזה מפורטות דוגמאות להגדרה של בדיקות יחידה (unit testing) כדי לבדוק שהאפליקציה מקיימת אינטראקציה איתה למצבי האפליקציה המטורגטים, כפי שמצופה.

שלב 1: מגדירים את הכיתות כך שיקבלו את KeyedAppStatesReporter כפרמטר

במקום להתקשר ישירות אל create(), אפשר לשנות את הכיתות כדי לאשר KeyedAppStatesReporter כפרמטר כמו בדוגמה BatteryManager כיתה הבאה:

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

בשלב הבא, משתמשים ב-KeyedAppStatesReporter.create כדי לקבל שמכונה תעבור בכל מקום שבו נוצר BatteryManager.

שלב 2: מוסיפים את ספריית הבדיקה של המשוב הארגוני לקובץ build.gradle

יש להוסיף את התלות הבאה קובץ build.gradle:

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

שלב 3: יוצרים FakeKeyedAppStatesReporter ומעבירים אותו לכיתה

Kotlin

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

Java

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

שלב 4: הצהרת בעלות על אינטראקציות עם FakeKeyedAppStatesReporter

לדוגמה, כדי לבדוק שלא הוגדרו מדינות:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

או שנשלחה בקשה להעלאה של מצב מסוים:

Kotlin

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

Java

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

שליחת משוב לבדיקה אל בדיקת ה-DPC

דוגמה של נאמן מידע למדיניות מכשירים שנקרא 'בקר DPC לבדיקה', יכול לקבל משוב על האפליקציה וזמין להוריד.

שלב 1: מתקינים את בקר ה-DPC לבדיקה

מתקינים את הגרסה האחרונה של Test DPC מחנות Play. בשלב הבא, מגדירים את בקר ה-DPC לבדיקת האדמין כאדמין של המכשיר:

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

שלב 2: הפעלת התראות על משוב לגבי אפליקציות

בתפריט של בדיקת ה-DPC, מפעילים את האפשרות התראות על משוב מהאפליקציה.

הפעלת ההתראות

הפעלת אירוע שמציין את מצב המפתח של האפליקציה. אם הפעולה בוצעה ללא שגיאות, בקר ה-DPC של בדיקה יוצג המשוב בהתראות:

המשוב מוצג