Phản hồi về ứng dụng thử nghiệm

Sau khi cập nhật ứng dụng để hỗ trợ gửi phản hồi dưới dạng trạng thái ứng dụng được khoá, bạn có thể sử dụng hướng dẫn trên trang này để thiết lập các bài kiểm thử đơn vị và gửi ý kiến phản hồi kiểm thử cho một chính sách thiết bị thử nghiệm bộ điều khiển (DPC).

Thiết lập kiểm thử đơn vị

Phần này đưa ra ví dụ về cách thiết lập các bài kiểm thử đơn vị để kiểm tra xem ứng dụng của bạn có tương tác với trạng thái ứng dụng có khoá như dự kiến.

Bước 1: Thiết lập các lớp để chấp nhận KeyedAppStatesReporter dưới dạng thông số

Thay vì gọi trực tiếp create(), hãy sửa đổi các lớp để chấp nhận KeyedAppStatesReporter làm tham số như trong ví dụ BatteryManager lớp bên dưới:

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

Tiếp theo, hãy sử dụng KeyedAppStatesReporter.create để lấy một thực thể cần truyền bất cứ nơi nào BatteryManager được tạo.

Bước 2: Thêm thư viện thử nghiệm phản hồi cho doanh nghiệp vào tệp build.gradle

Hãy thêm phần phụ thuộc sau đây vào Tệp build.gradle:

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

Bước 3: Tạo một FakeKeyedAppStatesReporter rồi truyền vào lớp của bạn

Kotlin

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

Java

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

Bước 4: Xác nhận hoạt động tương tác với FakeKeyedAppStatesReporter

Ví dụ: để kiểm tra nhằm đảm bảo rằng chưa có trạng thái nào được đặt:

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

Hoặc một tiểu bang cụ thể đã được yêu cầu tải lên:

Kotlin

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

Java

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

Gửi phản hồi kiểm thử tới DPC Test DPC

Trình kiểm soát chính sách thiết bị mẫu, có tên Test DPC, có khả năng nhận phản hồi từ ứng dụng và có sẵn cho tải xuống.

Bước 1: Cài đặt DPC kiểm thử

Cài đặt phiên bản mới nhất của Test DPC từ Cửa hàng Play. Tiếp theo, đặt DPC kiểm thử làm quản trị viên của thiết bị:

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

Bước 2: Bật thông báo phản hồi về ứng dụng

Trong trình đơn của Kiểm thử DPC, hãy bật Thông báo phản hồi của ứng dụng.

bật thông báo

Kích hoạt một sự kiện thiết lập trạng thái khoá cho ứng dụng. Nếu thành công, DPC kiểm thử sẽ hiển thị phản hồi trong thông báo:

phản hồi được hiển thị