Para testar a integração da API Play Age Signals (Beta) com seu app, use a
implementação FakeAgeSignalsManager disponível no artefato de indicadores de idade.
A implementação FakeAgeSignalsManager
permite simular o comportamento da API.
O FakeAgeSignalsManager
é destinado apenas a testes de unidade ou integração para
confirmar o comportamento do app. Para testar a integração, substitua a instância AgeSignalsManager
por uma instância FakeAgeSignalsManager
.
O exemplo a seguir simula a resposta para um adulto verificado:
Kotlin
val fakeVerifiedUser = AgeSignalsResult.builder() .setUserStatus(AgeSignalsVerificationStatus.VERIFIED) .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 */);
O exemplo a seguir simula a resposta para um usuário supervisionado entre 13 e 17 anos:
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 */);
O exemplo a seguir simula a resposta para uma aprovação pendente de mudança significativa de um usuário supervisionado entre 13 e 17 anos sem uma mudança significativa anterior aprovada:
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 */)
O exemplo a seguir simula a resposta para uma aprovação pendente de mudança significativa de um usuário supervisionado entre 13 e 17 anos com todas as mudanças significativas aprovadas até a mudança significativa que entrou em vigor em 01/02/2025:
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 */);
O exemplo a seguir simula uma aprovação de mudança significativa negada para um usuário supervisionado entre 13 e 17 anos com todas as mudanças significativas aprovadas até a mudança significativa que entrou em vigor em 2025-02-01:
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 */);
O exemplo a seguir simula a resposta para um status de usuário desconhecido:
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 */);
O exemplo a seguir simula a resposta com um código de erro de rede:
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 */);