ادغام API (بتا) سیگنال‌های سن بازی خود را آزمایش کنید

برای آزمایش ادغام API (بتا) Play Age Signals با برنامه خود، از پیاده‌سازی FakeAgeSignalsManager موجود در مصنوع age signals استفاده کنید. پیاده‌سازی 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 */);