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

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

راه‌اندازی آزمون‌های واحد

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

مرحله ۱: کلاس‌هایتان را طوری راه‌اندازی کنید که 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 ایجاد شده است استفاده کنید.

مرحله ۲: کتابخانه آزمایش بازخورد سازمانی را به فایل build.gradle اضافه کنید

وابستگی زیر را به فایل build.gradle برنامه‌تان اضافه کنید:

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

مرحله ۳: FakeKeyedAppStatesReporter ایجاد کنید و آن را به کلاس خود منتقل کنید

کاتلین

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

جاوا

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

مرحله ۴: تعاملات با FakeKeyedAppStatesReporter را تأیید کنید

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

کاتلین

assertThat(reporter.keyedAppStates).isEmpty();

جاوا

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

یا اینکه درخواست شده است وضعیت خاصی بارگذاری شود:

کاتلین

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

جاوا

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

ارسال بازخورد آزمایشی به Test DPC

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

مرحله ۱: نصب Test DPC

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

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

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

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

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

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

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