بازخورد برنامه را تست کنید

پس از به‌روزرسانی برنامه‌تان برای پشتیبانی از ارسال بازخورد در قالب حالت‌های برنامه کلیددار، می‌توانید از راهنمایی در این صفحه برای تنظیم تست‌های واحد و ارسال بازخورد آزمایشی به کنترل‌کننده خط‌مشی دستگاه آزمایشی (DPC) استفاده کنید.

تست های واحد را تنظیم کنید

این بخش نمونه‌هایی از نحوه راه‌اندازی تست‌های واحد را برای بررسی اینکه آیا برنامه شما مطابق انتظار با حالت‌های برنامه کلیددار تعامل دارد، ارائه می‌دهد.

مرحله 1: کلاس های خود را طوری تنظیم کنید که KeyedAppStatesReporter را به عنوان یک پارامتر بپذیرد

به جای فراخوانی مستقیم create() ، کلاس‌های خود را تغییر دهید تا KeyedAppStatesReporter به عنوان پارامتری مانند مثال کلاس BatteryManager در زیر بپذیرد:

کاتلین

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

جاوا

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 ایجاد کنید و آن را به کلاس خود ارسال کنید

کاتلین

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

جاوا

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

مرحله 4: برقراری تعامل با FakeKeyedAppStatesReporter

به عنوان مثال، برای بررسی اینکه هیچ حالتی تنظیم نشده است:

کاتلین

assertThat(reporter.keyedAppStates).isEmpty();

جاوا

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

یا اینکه یک ایالت خاص برای آپلود درخواست شده است:

کاتلین

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

جاوا

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

بازخورد تست را به Test DPC ارسال کنید

یک نمونه کنترل کننده خط مشی دستگاه ، به نام Test DPC، قادر به دریافت بازخورد برنامه است و برای دانلود در دسترس است.

مرحله 1: تست DPC را نصب کنید

آخرین نسخه Test DPC را از فروشگاه Play نصب کنید. سپس، Test DPC را به عنوان سرپرست دستگاه تنظیم کنید:

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

مرحله ۲: اعلان‌های بازخورد برنامه را فعال کنید

در منوی تست DPC، اعلان‌های بازخورد برنامه را فعال کنید.

اعلان ها را فعال کنید

رویدادی را راه‌اندازی کنید که حالت برنامه کلیدی را تنظیم کند. در صورت موفقیت آمیز بودن، تست DPC بازخورد را در اعلان ها نشان می دهد:

بازخورد نمایش داده شد