Para verificar o processamento de vários indicadores de idade e o status de compartilhamento de idade do seu app, use o FakeAgeSignalsManager fornecido no artefato de teste do SDK.
FakeAgeSignalsManager permite simular respostas de API para testes de unidade e integração
substituindo sua instância AgeSignalsManager de produção.
Para simular diferentes tipos de resposta usando o SDK da API Play Age Signals versão 0.0.4, consulte os exemplos a seguir:
Exemplo 1: pedir acesso (idade compartilhada pelo usuário)
Kotlin
val fakeAccessResult = AgeSignalsAccessResult.builder()
.setAgeSignalsStatus(AgeSignalsStatus.SHARED) // or NOT_SHARED
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsAccessResult(fakeAccessResult)
manager.requestAgeSignalsAccess(
AgeSignalsAccessRequest.builder()
.setActivity(fakeActivity)
.build()
)
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsAccessResult fakeAccessResult = AgeSignalsAccessResult.builder()
.setAgeSignalsStatus(AgeSignalsStatus.SHARED) // or NOT_SHARED
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsAccessResult(fakeAccessResult);
manager.requestAgeSignalsAccess(
AgeSignalsAccessRequest.builder()
.setActivity(fakeActivity)
.build())
.addOnSuccessListener(/* handle success */);
Exemplo 2: pedir acesso (o usuário não compartilhou a idade)
Kotlin
val fakeAccessResult = AgeSignalsAccessResult.builder()
.setAgeSignalsStatus(AgeSignalsStatus.NOT_SHARED)
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsAccessResult(fakeAccessResult)
manager.requestAgeSignalsAccess(
AgeSignalsAccessRequest.builder()
.setActivity(fakeActivity)
.build()
)
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsAccessResult fakeAccessResult = AgeSignalsAccessResult.builder()
.setAgeSignalsStatus(AgeSignalsStatus.NOT_SHARED)
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsAccessResult(fakeAccessResult);
manager.requestAgeSignalsAccess(
AgeSignalsAccessRequest.builder()
.setActivity(fakeActivity)
.build())
.addOnSuccessListener(/* handle success */);
Exemplo 3: adulto verificado (18 anos ou mais)
Kotlin
val fakeVerifiedUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_D)
.setAgeLower(18)
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeVerifiedUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsResult fakeVerifiedUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_D)
.setAgeLower(18)
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeVerifiedUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success */);
Exemplo 4: menor supervisionado (13 a 15 anos)
Kotlin
val fakeSupervisedUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setInstallId("fake_install_id_123")
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeSupervisedUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsResult fakeSupervisedUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setInstallId("fake_install_id_123")
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeSupervisedUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success */);
Exemplo 5: menor supervisionado com mudança significativa pendente
Kotlin
val fakePendingChangeUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setSignificantChangeStatus(SignificantChangeStatus.PENDING)
.setInstallId("fake_install_id_123")
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakePendingChangeUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsResult fakePendingChangeUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setSignificantChangeStatus(SignificantChangeStatus.PENDING)
.setInstallId("fake_install_id_123")
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakePendingChangeUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success */);
Exemplo 6: menor supervisionado com mudança significativa aprovada
Kotlin
val fakeApprovedChangeUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setSignificantChangeStatus(SignificantChangeStatus.APPROVED)
.setSignificantChangeApprovalDate(Date(1777939200000L)) // e.g., 2026-05-01
.setInstallId("fake_install_id_123")
.build()
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsResult(fakeApprovedChangeUser)
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener { /* handle success */ }
Java
AgeSignalsResult fakeApprovedChangeUser = AgeSignalsResult.builder()
.setAgeRangeSource(AgeRangeSource.TIER_B)
.setAgeLower(13)
.setAgeUpper(15)
.setSignificantChangeStatus(SignificantChangeStatus.APPROVED)
.setSignificantChangeApprovalDate(new Date(1777939200000L)) // e.g., 2026-05-01
.setInstallId("fake_install_id_123")
.build();
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsResult(fakeApprovedChangeUser);
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success */);
Exemplo 7: simulação de exceções da API
Kotlin
val manager = FakeAgeSignalsManager()
manager.setNextAgeSignalsException(AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR))
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnFailureListener { /* handle error */ }
Java
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsException(new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR));
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnFailureListener(/* handle error */);