অ্যাপ প্রতিক্রিয়া পরীক্ষা করুন

কীড অ্যাপ স্টেট আকারে প্রতিক্রিয়া পাঠানোকে সমর্থন করার জন্য আপনার অ্যাপ আপডেট করার পরে, আপনি ইউনিট পরীক্ষা সেট আপ করতে এবং টেস্ট ডিভাইস পলিসি কন্ট্রোলার (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);
    }
}

এরপরে, যেখানেই BatteryManager তৈরি করা হয়েছে সেখানে পাস করার জন্য একটি উদাহরণ পেতে KeyedAppStatesReporter.create ব্যবহার করুন।

ধাপ 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();

টেস্ট ডিপিসিতে পরীক্ষার প্রতিক্রিয়া পাঠান

একটি নমুনা ডিভাইস নীতি নিয়ন্ত্রক , টেস্ট DPC নামক, অ্যাপ প্রতিক্রিয়া পেতে সক্ষম এবং ডাউনলোডের জন্য উপলব্ধ।

ধাপ 1: টেস্ট ডিপিসি ইনস্টল করুন

প্লে স্টোর থেকে টেস্ট ডিপিসির সর্বশেষ সংস্করণ ইনস্টল করুন। এরপরে, ডিভাইসের অ্যাডমিন হিসাবে টেস্ট ডিপিসি সেট করুন:

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

ধাপ 2: অ্যাপ প্রতিক্রিয়া বিজ্ঞপ্তি সক্ষম করুন

টেস্ট ডিপিসির মেনুতে, অ্যাপ প্রতিক্রিয়া বিজ্ঞপ্তিগুলি সক্ষম করুন৷

বিজ্ঞপ্তি সক্রিয় করুন

একটি ইভেন্ট ট্রিগার করে যা একটি কীড অ্যাপের অবস্থা সেট করে। সফল হলে, টেস্ট ডিপিসি বিজ্ঞপ্তিতে প্রতিক্রিয়া দেখাবে:

প্রতিক্রিয়া প্রদর্শিত হয়