Untuk menguji integrasi Play Age Signals API (beta) dengan aplikasi Anda, gunakan penerapan
FakeAgeSignalsManager yang tersedia di artefak sinyal usia.
Implementasi FakeAgeSignalsManager
memungkinkan Anda menyimulasikan perilaku API.
FakeAgeSignalsManager
hanya ditujukan untuk pengujian unit atau integrasi guna mengonfirmasi perilaku aplikasi Anda. Untuk menguji integrasi, ganti instance
AgeSignalsManager
dengan instance FakeAgeSignalsManager
.
Contoh berikut menyimulasikan respons untuk orang dewasa terverifikasi:
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 */);
Contoh berikut menyimulasikan respons untuk pengguna yang diawasi berusia antara 13 dan 17 tahun:
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 */);
Contoh berikut menyimulasikan respons untuk persetujuan perubahan signifikan yang tertunda bagi pengguna yang diawasi berusia antara 13 dan 17 tahun tanpa persetujuan perubahan signifikan sebelumnya:
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 */);
Contoh berikut menyimulasikan respons untuk persetujuan perubahan signifikan yang tertunda bagi pengguna yang diawasi berusia antara 13 dan 17 tahun dengan semua perubahan signifikan yang disetujui hingga dan termasuk perubahan signifikan yang berlaku mulai 01-02-2025:
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 */);
Contoh berikut menyimulasikan penolakan persetujuan perubahan signifikan untuk pengguna yang diawasi berusia antara 13 dan 17 tahun dengan semua perubahan signifikan yang disetujui hingga dan termasuk perubahan signifikan yang berlaku mulai 01-02-2025:
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 */);
Contoh berikut menyimulasikan respons untuk status pengguna yang tidak diketahui:
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 */);
Contoh berikut menyimulasikan respons dengan kode error jaringan:
FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsException(
new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR));
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
.addOnSuccessListener(/* handle success case */)
.addOnFailureListener(/* handle failure case */);