Aby przetestować integrację interfejsu Play Age Signals API (beta) z aplikacją, użyj implementacji FakeAgeSignalsManager dostępnej w artefakcie sygnałów wieku.
FakeAgeSignalsManager
Implementacja umożliwia symulowanie działania interfejsu API.
FakeAgeSignalsManager
jest przeznaczony wyłącznie do testów jednostkowych lub integracyjnych, aby potwierdzić działanie aplikacji. Aby przetestować integrację, zastąp instancję AgeSignalsManager
instancją FakeAgeSignalsManager
.
Poniższy przykład symuluje odpowiedź w przypadku zweryfikowanej osoby dorosłej:
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:
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ź dotyczącą oczekującej zgody na istotną zmianę w przypadku nadzorowanego użytkownika w wieku od 13 do 17 lat, w przypadku którego nie zatwierdzono wcześniej żadnej istotnej zmiany:
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ź dotyczącą oczekującej zgody na istotną zmianę w przypadku nadzorowanego użytkownika w wieku 13–17 lat, w którego przypadku wszystkie istotne zmiany zostały zatwierdzone do istotnej zmiany, która weszła w życie 1 lutego 2025 r.
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 zgody na istotną zmianę w przypadku nadzorowanego użytkownika w wieku 13–17 lat, w którego przypadku wszystkie istotne zmiany zostały zatwierdzone do i włącznie ze zmianą, która weszła w życie 1 lutego 2025 r.:
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ź dotyczącą nieznanego stanu użytkownika:
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 kodem błędu sieci:
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsException(
new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR));
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success case */)
.addOnFailureListener(/* handle failure case */);