আপনার Play Age Signals API (বিটা) ইন্টিগ্রেশন পরীক্ষা করুন

আপনার অ্যাপের সাথে Play Age Signals API (বিটা) ইন্টিগ্রেশন পরীক্ষা করতে, age signals artifact-এ উপলব্ধ FakeAgeSignalsManager বাস্তবায়ন ব্যবহার করুন। FakeAgeSignalsManager বাস্তবায়ন আপনাকে API-এর আচরণ অনুকরণ করতে দেয়।

FakeAgeSignalsManager শুধুমাত্র আপনার অ্যাপের আচরণ নিশ্চিত করার জন্য ইউনিট বা ইন্টিগ্রেশন পরীক্ষার জন্য তৈরি। আপনার ইন্টিগ্রেশন পরীক্ষা করার জন্য, আপনার AgeSignalsManager ইনস্ট্যান্সটিকে একটি FakeAgeSignalsManager ইনস্ট্যান্স দিয়ে প্রতিস্থাপন করুন।

নিম্নলিখিত উদাহরণটি একজন যাচাইকৃত প্রাপ্তবয়স্কের জন্য প্রতিক্রিয়া অনুকরণ করে:

কোটলিন

val fakeVerifiedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.VERIFIED)
        .build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeVerifiedUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeVerifiedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.VERIFIED)
        .build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeVerifiedUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);

নিম্নলিখিত উদাহরণটি ১৩ থেকে ১৭ বছর বয়সী একজন তত্ত্বাবধানে থাকা ব্যবহারকারীর প্রতিক্রিয়া অনুকরণ করে:

কোটলিন

val fakeSupervisedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setInstallId("fake_install_id")
        .build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeSupervisedUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeSupervisedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setInstallId("fake_install_id")
        .build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeSupervisedUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);

নিম্নলিখিত উদাহরণটি ১৩ থেকে ১৭ বছর বয়সী একজন তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য একটি মুলতুবি থাকা উল্লেখযোগ্য পরিবর্তন অনুমোদনের প্রতিক্রিয়া অনুকরণ করে, যার পূর্বে কোনও উল্লেখযোগ্য পরিবর্তন অনুমোদিত হয়নি:

কোটলিন

val fakeSupervisedApprovalPendingUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setInstallId("fake_install_id")
        .build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeSupervisedApprovalPendingUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeSupervisedApprovalPendingUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setInstallId("fake_install_id")
        .build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeSupervisedApprovalPendingUser);
manager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */)

নিম্নলিখিত উদাহরণটি ১৩ থেকে ১৭ বছর বয়সী একজন তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য একটি মুলতুবি থাকা উল্লেখযোগ্য পরিবর্তন অনুমোদনের প্রতিক্রিয়ার অনুকরণ করে, যেখানে ২০২৫-০২-০১ থেকে কার্যকর হওয়া উল্লেখযোগ্য পরিবর্তন পর্যন্ত এবং এর মধ্যে অন্তর্ভুক্ত সমস্ত উল্লেখযোগ্য পরিবর্তন অনুমোদিত হয়েছে:

কোটলিন

val fakeSupervisedApprovalPendingUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setMostRecentApprovalDate(
          Date.from(LocalDate.of(2025, 2, 1).atStartOfDay(ZoneOffset.UTC).toInstant())
        )
        .setInstallId("fake_install_id")
        .build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeSupervisedApprovalPendingUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeSupervisedApprovalPendingUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setMostRecentApprovalDate(
          Date.from(LocalDate.of(2025, 2, 1).atStartOfDay(ZoneOffset.UTC).toInstant()))
        .setInstallId("fake_install_id")
        .build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeSupervisedApprovalPendingUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);

নিম্নলিখিত উদাহরণটি ১৩ থেকে ১৭ বছর বয়সী একজন তত্ত্বাবধানে থাকা ব্যবহারকারীর জন্য উল্লেখযোগ্য পরিবর্তন অনুমোদন প্রত্যাখ্যানের অনুকরণ করে, যেখানে ২০২৫-০২-০১ থেকে কার্যকর হওয়া উল্লেখযোগ্য পরিবর্তন পর্যন্ত এবং এর মধ্যে অন্তর্ভুক্ত সমস্ত উল্লেখযোগ্য পরিবর্তন অনুমোদিত হয়েছে:

কোটলিন

val fakeSupervisedApprovalDeniedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setMostRecentApprovalDate(
          Date.from(LocalDate.of(2025, 2, 1).atStartOfDay(ZoneOffset.UTC).toInstant())
        )
        .setInstallId("fake_install_id")
        .build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeSupervisedApprovalDeniedUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeSupervisedApprovalDeniedUser =
    AgeSignalsResult.builder()
        .setUserStatus(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)
        .setAgeLower(13)
        .setAgeUpper(17)
        .setMostRecentApprovalDate(
          Date.from(LocalDate.of(2025, 2, 1).atStartOfDay(ZoneOffset.UTC).toInstant()))
        .setInstallId("fake_install_id")
        .build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeSupervisedApprovalDeniedUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);

নিচের উদাহরণটি একটি অজানা ব্যবহারকারীর স্ট্যাটাসের প্রতিক্রিয়া অনুকরণ করে:

কোটলিন

val fakeUnknownUser =
    AgeSignalsResult.builder().setUserStatus(AgeSignalsVerificationStatus.UNKNOWN).build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeUnknownUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

AgeSignalsResult fakeUnknownUser =
    AgeSignalsResult.builder().setUserStatus(AgeSignalsVerificationStatus.UNKNOWN).build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeUnknownUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);

নিম্নলিখিত উদাহরণটি একটি নেটওয়ার্ক ত্রুটি কোড দিয়ে প্রতিক্রিয়াটি অনুকরণ করে:

কোটলিন

val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsException(
  AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR)
)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { /* handle success case */ }
    .addOnFailureListener { /* handle failure case */ }

জাভা

FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsException(
    new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR));
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(/* handle success case */)
    .addOnFailureListener(/* handle failure case */);