כדי לבדוק את השילוב של 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 */);