アプリのフィードバックをテストする

キー付きのアプリの状態の形式でフィードバックを送信できるようにアプリを更新すると、 このページのガイダンス(単体テストを設定し、テストデバイス ポリシーにテストのフィードバックを送信する場合) コントローラ(DPC)です。

単体テストをセットアップする

このセクションでは、アプリが動作していることを確認するための単体テストのセットアップ方法の例を紹介します。 キー付きのアプリの状態が予期したとおりに作成されます。

ステップ 1: KeyedAppStatesReporter をパラメータとして受け取るようにクラスをセットアップする

create() を直接呼び出す代わりに、クラスを変更して BatteryManager のようなパラメータとして KeyedAppStatesReporter を使用する クラス:

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

次に、KeyedAppStatesReporter.create を使用して、渡すインスタンスを取得します。 BatteryManager が作成されたすべての場所で動作します。

ステップ 2: build.gradle ファイルにエンタープライズ フィードバック テスト ライブラリを追加する

アプリの依存関係に次の依存関係を build.gradle ファイル:

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

ステップ 3: FakeKeyedAppStatesReporter を作成してクラスに渡す

Kotlin

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

Java

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

ステップ 4: FakeKeyedAppStatesReporter とのやり取りをアサートする

たとえば、状態が設定されていないことを確認するには、次のようにします。

Kotlin

assertThat(reporter.keyedAppStates).isEmpty();

Java

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

または、特定の状態のアップロードがリクエストされた場合:

Kotlin

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

Java

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

Test DPC にテストのフィードバックを送信する

Device Policy Controller のサンプル という機能があり、アプリのフィードバックを受け取れます。 ダウンロードします。

ステップ 1: テスト DPC をインストールする

最新バージョンの Test DPC をインストールします。 ダウンロードしてください。次に、Test DPC をデバイスの管理者として設定します。

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

ステップ 2: アプリのフィードバック通知を有効にする

Test DPC のメニューで、[App feedback notifications] を有効にします。

通知を有効にする

キーが設定されたアプリの状態を設定するイベントをトリガーします。成功すると、Test DPC が表示されます。 通知のフィードバック:

フィードバックを表示しています