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

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

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

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

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 */);

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

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 */);

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

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 */);

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

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 */);

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

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 */);

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

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 */);

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

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