בדיקת השילוב של Play Age Signals API (בטא)

כדי לבדוק את השילוב של Play Age Signals API (בטא) באפליקציה, אפשר להשתמש בהטמעה של 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 */);

בדוגמה הבאה מודגמת התגובה עבור משתמש בפיקוח בגיל 13 עד 17:

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

בדוגמה הבאה מודגמת התגובה לבקשה לשינוי משמעותי בהמתנה לאישור של משתמש בפיקוח בגיל 13 עד 17, שלא אושר לו בעבר שינוי משמעותי:

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

בדוגמה הבאה מודגמת התגובה לאישור של שינוי משמעותי בהמתנה למשתמש בפיקוח בגיל 13 עד 17, כשכל השינויים המשמעותיים אושרו עד לשינוי המשמעותי שהחל ב-2025-02-01, כולל השינוי הזה:

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

בדוגמה הבאה מודגם מצב שבו בקשה לאישור שינוי משמעותי נדחתה עבור משתמש בפיקוח בגיל 13 עד 17, אחרי שכל השינויים המשמעותיים אושרו עד לשינוי המשמעותי שהחל ב-2025-02-01 (כולל).

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