Test uygulaması geri bildirimi

Uygulamanızı, anahtarlı uygulama durumu biçiminde geri bildirim göndermeyi destekleyecek şekilde güncelledikten sonra, birim testleri oluşturmak ve bir test cihazı politika denetleyicisine (DPC) test geri bildirimi göndermek için bu sayfadaki yönergeleri kullanabilirsiniz.

Birim testleri oluşturma

Bu bölümde, uygulamanızın beklendiği gibi anahtarlı uygulama durumlarıyla etkileşimde bulunup bulunmadığını kontrol etmek için birim testlerinin nasıl ayarlanacağına dair örnekler verilmektedir.

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

create() öğesini doğrudan çağırmak yerine, sınıflarınızı aşağıdaki örnek BatteryManager sınıfında olduğu gibi KeyedAppStatesReporter parametresini parametre olarak kabul edecek şekilde değiştirin:

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, BatteryManager oluşturulduğu her yerden geçecek bir örnek almak için KeyedAppStatesReporter.create kullanın.

2. Adım: Kurumsal geri bildirim test kitaplığını build.gradle dosyanıza ekleyin

Uygulamanızın build.gradle dosyasına aşağıdaki bağımlılığı ekleyin:

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

3. Adım: FakeKeyedAppStatesReporter oluşturup 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 iddia edin

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

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Belirli bir eyaletin yüklenmesi için istekte bulunulduysa:

Kotlin

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

Java

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

Test DPC'ye test geri bildirimi gönder

Test DPC adlı örnek bir cihaz politikası denetleyici, uygulama geri bildirimi alabilir ve indirilebilir.

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

Play Store'dan Test DPC'nin en son sürümünü yükleyin. 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ünde, App geri bildirim bildirimleri'ni etkinleştirin.

bildirimleri etkinleştir

Anahtarlı uygulama durumunu belirleyen bir etkinliği tetikleyin. Test başarılı olursa Test DPC bildirimlerde geri bildirimleri gösterir:

geri bildirim görüntülendi