ทดสอบการผสานรวม Play Age Signals API (เบต้า)

หากต้องการยืนยันการจัดการสัญญาณอายุและสถานะการแชร์อายุต่างๆ ของแอป ให้ใช้ FakeAgeSignalsManager ที่มีให้ในอาร์ติแฟกต์การทดสอบ SDK FakeAgeSignalsManager ช่วยให้คุณจำลองการตอบกลับของ API สำหรับการทดสอบหน่วยและการทดสอบการผสานรวมได้โดยการแทนที่อินสแตนซ์ AgeSignalsManager ที่ใช้งานจริง

หากต้องการจำลองการตอบกลับประเภทต่างๆ โดยใช้ 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 */);