Einbindung der Play Age Signals API (Beta) testen

Wenn Sie die Integration der Play Age Signals API (Beta) in Ihre App testen möchten, verwenden Sie die FakeAgeSignalsManager-Implementierung, die im Altersnachweis-Artefakt verfügbar ist. Mit der FakeAgeSignalsManager-Implementierung können Sie das Verhalten der API simulieren.

Die FakeAgeSignalsManager ist ausschließlich für Einheiten- oder Integrationstests vorgesehen, um das Verhalten Ihrer App zu bestätigen. Um Ihre Integration zu testen, ersetzen Sie Ihre AgeSignalsManager-Instanz durch eine FakeAgeSignalsManager-Instanz.

Im folgenden Beispiel wird die Antwort für einen bestätigten Erwachsenen simuliert:

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 */);

Im folgenden Beispiel wird die Antwort für einen Nutzer mit Elternaufsicht zwischen 13 und 17 Jahren simuliert:

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 */);

Im folgenden Beispiel wird die Antwort für eine ausstehende Genehmigung einer wesentlichen Änderung für einen Nutzer mit Elternaufsicht zwischen 13 und 17 Jahren simuliert, für den noch keine wesentliche Änderung genehmigt wurde:

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 */);

Im folgenden Beispiel wird die Antwort für eine ausstehende Genehmigung einer wichtigen Änderung für einen Nutzer mit Elternaufsicht zwischen 13 und 17 Jahren simuliert, bei dem alle wichtigen Änderungen bis einschließlich der wichtigen Änderung, die ab dem 01.02.2025 in Kraft getreten ist, genehmigt wurden:

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 */);

Im folgenden Beispiel wird simuliert, dass die Genehmigung einer wesentlichen Änderung für einen Nutzer mit Elternaufsicht im Alter von 13 bis 17 Jahren abgelehnt wurde. Alle wesentlichen Änderungen bis einschließlich der wesentlichen Änderung, die ab dem 01.02.2025 in Kraft getreten ist, wurden genehmigt:

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 */);

Im folgenden Beispiel wird die Antwort für einen unbekannten Nutzerstatus simuliert:

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 */);

Im folgenden Beispiel wird die Antwort mit einem Netzwerkfehlercode simuliert:

FakeAgeSignalsManager manager = new FakeAgeSignalsManager();
manager.setNextAgeSignalsException(
  new AgeSignalsException(AgeSignalsErrorCode.NETWORK_ERROR));
manager.checkAgeSignals(AgeSignalsRequest.builder().build())
  .addOnSuccessListener(/* handle success case */)
  .addOnFailureListener(/* handle failure case */);