Test uygulaması geri bildirimi

Uygulamanızı, anahtarlı uygulama durumu biçiminde geri bildirim göndermeyi destekleyecek şekilde güncelledikten sonra, Birim testlerini ayarlama ve test cihazı politikasına test geri bildirimi gönderme ile ilgili bu sayfadaki yönergeler denetleyici (DPC) ile uyumludur.

Birim testlerini ayarlama

Bu bölümde, uygulamanızın etkileşimde bulunup bulunmadığını kontrol etmek için birim testlerinin nasıl oluşturulacağına dair örnekler verilmiştir. anahtarlı uygulama durumlarının mevcut olup olmadığını kontrol edin.

1. adım: Sınıflarınızı, parametre olarak KeyedAppStatesReporter kabul edilecek şekilde ayarlayın

Doğrudan create() numaralı telefonu aramak yerine sınıflarınızı kabul edecek şekilde değiştirin BatteryManager örneğindeki gibi bir parametre olarak KeyedAppStatesReporter aşağıdaki sınıfı inceleyin:

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

Ardından, geçmek üzere bir örnek almak için KeyedAppStatesReporter.create kullanın BatteryManager oluşturulduğu her yerde.

2. adım: build.gradle dosyanıza kurumsal geri bildirim testi kitaplığını ekleyin

Aşağıdaki bağımlılığı uygulamanızın build.gradle dosyası:

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

3. Adım: Bir FakeKeyedAppStatesReporter oluşturun ve sınıfınıza iletin

Kotlin

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

Java

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

4. adım: FakeKeyedAppStatesReporter ile etkileşimleri doğrulayın

Örneğin, hiçbir eyaletin ayarlanıp ayarlanmadığını kontrol etmek için:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Veya belirli bir eyaletin yüklenmesi talep edilmişse:

Kotlin

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

Java

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

Test DPC'ye test geri bildirimi gönder

Örnek bir cihaz politikası denetleyici, test DPC adı verilen bir uygulamadır. Uygulama geri bildirimi alabilir ve indirin.

1. adım: Test DPC'yi yükleyin

Test DPC'nin en son sürümünü yükleyin Google Play Store'dan. Ardından Test DPC'yi cihazın yöneticisi olarak ayarlayın:

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

2. Adım: Uygulama geri bildirim bildirimlerini etkinleştirin

Test DPC'nin menüsünden Uygulama geri bildirim bildirimleri'ni etkinleştirin.

bildirimleri etkinleştir

Anahtarlı uygulama durumu ayarlayan bir etkinliği tetikleyin. İşlem başarılı olursa DPC'yi test et seçeneği gösterilir bildirimlerdeki geri bildirim:

geri bildirim görüntülendi