Aby przetestować integrację interfejsu Play Age Signals API (w wersji beta) z aplikacją, użyj implementacji
FakeAgeSignalsManager dostępnej w artefakcie sygnałów dotyczących wieku.
Implementacja FakeAgeSignalsManager umożliwia symulowanie działania interfejsu API.
Klasa FakeAgeSignalsManager jest przeznaczona wyłącznie do testów jednostkowych lub integracyjnych, które mają potwierdzić działanie aplikacji. Aby przetestować integrację, zastąp instancję
AgeSignalsManager instancją FakeAgeSignalsManager.
Poniższy przykład symuluje odpowiedź dla zweryfikowanego dorosłego:
Kotlin
val fakeVerifiedUser = AgeSignalsResult.builder() .setUserStatus(AgeSignalsVerificationStatus.VERIFIED) .setAgeLower(18) .build() val manager = FakeAgeSignalsManager() manager.setNextAgeSignalsResult(fakeVerifiedUser) manager.checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener { /* handle success case */ } .addOnFailureListener { /* handle failure case */ }
Java
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 */);
Poniższy przykład symuluje odpowiedź dla nadzorowanego użytkownika w wieku od 13 do 17 lat:
Kotlin
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 */ }
Java
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 */);
Poniższy przykład symuluje odpowiedź dla zadeklarowanego użytkownika z niestandardowym przedziałem wiekowym od 13 do 15 lat:
Kotlin
val fakeDeclaredUserWithCustomAgeRange = AgeSignalsResult.builder() .setUserStatus(AgeSignalsVerificationStatus.DECLARED) .setAgeLower(13) .setAgeUpper(15) .setInstallId("fake_install_id") .build() val manager = FakeAgeSignalsManager() manager.setNextAgeSignalsResult(fakeDeclaredUserWithCustomAgeRange) manager.checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener { /* handle success case */ } .addOnFailureListener { /* handle failure case */ }
Java
AgeSignalsResult fakeDeclaredUserWithCustomAgeRange = AgeSignalsResult.builder() .setUserStatus(AgeSignalsVerificationStatus.DECLARED) .setAgeLower(13) .setAgeUpper(15) .setInstallId("fake_install_id") .build(); FakeAgeSignalsManager manager = new FakeAgeSignalsManager(); manager.setNextAgeSignalsResult(fakeDeclaredUserWithCustomAgeRange); manager .checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener(/* handle success case */) .addOnFailureListener(/* handle failure case */)
Poniższy przykład symuluje odpowiedź dla nadzorowanego użytkownika w wieku od 13 do 17 lat, który oczekuje na zatwierdzenie istotnej zmiany i nie ma zatwierdzonych wcześniejszych istotnych zmian:
Kotlin
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 */ }
Java
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 */)
Poniższy przykład symuluje odpowiedź dla nadzorowanego użytkownika w wieku od 13 do 17 lat, który oczekuje na zatwierdzenie istotnej zmiany i ma zatwierdzone wszystkie istotne zmiany do 1 lutego 2025 r. włącznie:
Kotlin
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 */ }
Java
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 */);
Poniższy przykład symuluje odrzucenie zatwierdzenia istotnej zmiany dla nadzorowanego użytkownika w wieku od 13 do 17 lat, który ma zatwierdzone wszystkie istotne zmiany do 1 lutego 2025 r. włącznie:
Kotlin
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 */ }
Java
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 */);
Poniższy przykład symuluje odpowiedź dla nieznanego stanu użytkownika:
Kotlin
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 */ }
Java
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 */);
Poniższy przykład symuluje odpowiedź z wartością stanu użytkownika null:
Kotlin
val fakeNullUserStatus = AgeSignalsResult.builder() .setUserStatus(null) .build() val manager = FakeAgeSignalsManager() manager.setNextAgeSignalsResult(fakeNullUserStatus) manager.checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener { /* handle success case */ } .addOnFailureListener { /* handle failure case */ }
Java
AgeSignalsResult fakeNullUserStatus = AgeSignalsResult.builder() .setUserStatus(null) .build(); FakeAgeSignalsManager manager = new FakeAgeSignalsManager(); manager.setNextAgeSignalsResult(fakeNullUserStatus); manager .checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener(/* handle success case */) .addOnFailureListener(/* handle failure case */)
Poniższy przykład symuluje odpowiedź z kodem błędu sieci:
Kotlin
val manager = FakeAgeSignalsManager() manager.setNextAgeSignalsException( AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR) ) manager.checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener { /* handle success case */ } .addOnFailureListener { /* handle failure case */ }
Java
FakeAgeSignalsManager manager = new FakeAgeSignalsManager(); manager.setNextAgeSignalsException( new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR)); manager.checkAgeSignals(AgeSignalsRequest.builder().build()) .addOnSuccessListener(/* handle success case */) .addOnFailureListener(/* handle failure case */);