如要驗證應用程式處理各種年齡信號和年齡分享狀態的方式,請使用 SDK 測試構件中提供的 FakeAgeSignalsManager。FakeAgeSignalsManager 可讓您取代正式版 AgeSignalsManager 執行個體,模擬單元和整合測試的 API 回應。
如要使用 Play Age Signals API SDK 0.0.4 版模擬不同類型的回應,請參閱下列範例:
範例 1:要求存取權 (使用者分享年齡)
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 */);
示例 2:要求存取權 (使用者未分享年齡)
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 */);
範例 3:已驗證的成人 (年滿 18 歲)
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 */);
範例 4:受監護的未成年人 (13 到 15 歲)
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 */);
範例 5:受監護的未成年人有待處理的重大變更
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 */);
示例 6:已核准重大變更的受監護未成年人
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 */);
範例 7:模擬 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 */);
授權測試人員測試
一般而言,對於未透過 Google Play 更新的應用程式,Play Age Signals API 會處於封鎖狀態,並傳回 APP_NOT_OWNED 錯誤。授權測試人員可以略過這項檢查,也就是說,您可以側載應用程式,測試整合的正式版 Age Signals API。這樣一來,您就能使用含有偵錯簽章的偵錯版本,不必上傳新版應用程式。請注意,應用程式的套件名稱必須與為 Google Play 設定的應用程式完全相符,且測試裝置上使用的有效 Google 帳戶必須註冊為 Google Play 管理中心帳戶的授權測試人員。