Korzystanie z interfejsu Play Age Signals API (beta)

Korzystając z interfejsu Play Age Signals API (beta), akceptujesz warunki korzystania z usługi i zgadzasz się przestrzegać wszystkich zasad Google Play dla deweloperów. Aby poprosić o stan i przedział wiekowy użytkownika, wywołaj interfejs API z aplikacji w czasie działania. Interfejs Play Age Signals API zwraca dane tylko w przypadku użytkowników z regionów, w których prawo wymaga od Google Play udostępniania danych o kategoriach wiekowych.

Play zwraca przedział wiekowy na podstawie grup wiekowych zdefiniowanych w odpowiednich jurysdykcjach i regionach. Domyślne przedziały wiekowe zwracane przez interfejs API w odpowiednich jurysdykcjach i regionach to 0–12, 13–15, 16–17 i od 18 wzwyż, ale mogą się one zmieniać w zależności od wymagań regionalnych.

Integrowanie interfejsu Play Age Signals API z aplikacją

Aby zintegrować interfejs Play Age Signals API z aplikacją, dodaj ten ciąg do pliku build.gradle aplikacji:

implementation 'com.google.android.play:age-signals:0.0.1-beta02'

Prośba o sygnały dotyczące wieku

Oto przykład wysyłania żądania sygnałów dotyczących wieku:

Kotlin

// Create an instance of a manager
val ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext())

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener { ageSignalsResult ->
        // Store the install ID for later...
        val installId = ageSignalsResult.installId()

        if (ageSignalsResult.userStatus() == AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED) {
          // Disallow access...
        } else {
           // Do something else if the user is SUPERVISED, VERIFIED, etc.
        }
    }

Java

// Create an instance of a manager
AgeSignalsManager ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext());

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(
        ageSignalsResult -> {
          // Store the install ID for later...
          String installId = ageSignalsResult.installId();

          if (ageSignalsResult
              .userStatus()
              .equals(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)) {
            // Disallow access ...
          } else {
            // Do something else if the user is SUPERVISED, VERIFIED, etc.
          }
        });

Sygnały dotyczące wieku są przechowywane przez Google Play na urządzeniu dla każdego użytkownika. Gdy użytkownik z nadzorowanym kontem Google osiągnie nowy przedział wiekowy, Google Play automatycznie zaktualizuje sygnały wieku w pamięci podręcznej w ciągu 2–8 tygodni od daty urodzin użytkownika.

(Opcjonalnie) Otrzymywanie niestandardowych przedziałów wiekowych

Domyślne przedziały wiekowe zwracane przez interfejs API w odpowiednich jurysdykcjach i regionach to 0–12, 13–15, 16–17 i 18+. W przyszłości mogą się one zmienić w zależności od lokalnych wymagań.

Możesz też dostosować przedziały wiekowe do minimalnego wieku użytkowników Twojej aplikacji, podając te minimalne progi wiekowe na stronie Sygnały dotyczące wieku w Konsoli Google Play. Interfejs Age Signals API zwraca dostosowane przedziały wiekowe. Na przykład jeśli podasz minimalne progi wiekowe 9, 15 i 17 lat, 14-letni użytkownik będzie mieścił się w zakresie wiekowym 10–15 lat. Opcje minimalnego wieku muszą różnić się o co najmniej 2 lata i można je zmienić raz na rok.

Aby dostosować zakresy wieku zwracane przez interfejs Age Signals API, możesz podać minimalny wiek użytkowników Twojej aplikacji:

  1. W Konsoli Play otwórz stronę Sygnały dotyczące wieku.
  2. Na karcie Minimalny wiek użytkownika aplikacji wpisz maksymalnie 3 minimalne progi wiekowe użytkowników aplikacji.
  3. Kliknij Zapisz.

Odpowiedzi na sygnały dotyczące wieku

Odpowiedź interfejsu Play Age Signals API (beta) zawiera te pola i wartości. Wartości mogą ulec zmianie. Jeśli chcesz uzyskać najnowsze wartości, poproś o odpowiedź z interfejsu API po otwarciu aplikacji. Odpowiadasz za dostarczanie treści odpowiednich dla wieku użytkowników na podstawie tych sygnałów.

Pole odpowiedzi Wartości Opis
userStatus ZWERYFIKOWANO Użytkownik ma ukończone 18 lat. Google potwierdził wiek użytkownika za pomocą uzasadnionej komercyjnie metody, takiej jak dokument tożsamości wydany przez organ państwowy, karta kredytowa lub szacowanie wieku na podstawie twarzy.
NADZOROWANE Użytkownik ma nadzorowane konto Google zarządzane przez rodzica, który określa jego wiek. Użyj symboli ageLowerageUpper, aby określić przedział wiekowy użytkownika.
SUPERVISED_APPROVAL_PENDING Użytkownik ma nadzorowane konto Google, a rodzic sprawujący nad nim nadzór nie zatwierdził jeszcze co najmniej jednej oczekującej istotnej zmiany. Użyj ikon ageLowerageUpper, aby określić przedział wiekowy użytkownika. Użyj ikony mostRecentApprovalDate, aby określić ostatnią zatwierdzoną istotną zmianę.
SUPERVISED_APPROVAL_DENIED Użytkownik ma nadzorowane konto Google, a rodzic sprawujący nad nim nadzór odrzucił zatwierdzenie co najmniej jednej istotnej zmiany. Użyj symboli ageLowerageUpper, aby określić przedział wiekowy użytkownika. Użyj ikony mostRecentApprovalDate, aby określić ostatnią zatwierdzoną istotną zmianę.
NIEZNANY Użytkownik nie jest zweryfikowany ani objęty nadzorem w odpowiednich jurysdykcjach i regionach. Mogą to być użytkownicy, którzy ukończyli 18 lat lub nie. Aby uzyskać sygnał wieku z Google Play, poproś użytkownika o odwiedzenie Sklepu Play w celu rozwiązania problemu ze statusem.
Puste (pusta wartość) Wszyscy pozostali użytkownicy zwracają tę wartość.
ageLower 0–18 Dolna granica (włącznie) zakresu wieku nadzorowanego użytkownika. Użyj parametrów ageLowerageUpper, aby określić przedział wiekowy użytkownika.
Pusta (pusta wartość)
Pole userStatus jest nieznane lub puste.
ageUpper 2–18 Górna granica (włącznie) zakresu wieku nadzorowanego użytkownika. Użyj atrybutów ageLowerageUpper, aby określić przedział wiekowy użytkownika.
Puste (pusta wartość) Albo userStatus jest nadzorowany, a wiek użytkownika podany przez rodzica lub opiekuna prawnego jest wyższy niż 18 lat. Lub userStatus jest zweryfikowany, nieznany lub pusty.
mostRecentApprovalDate Datestamp effective from data ostatniej zatwierdzonej istotnej zmiany. Gdy aplikacja jest instalowana, używana jest data ostatniej istotnej zmiany przed instalacją.
Puste (pusta wartość) Albo userStatus jest nadzorowany i nie przesłano żadnych istotnych zmian. Lub userStatus jest zweryfikowany, nieznany lub pusty.
installID Alfanumeryczny identyfikator wygenerowany przez Google Play. Identyfikator przypisany do instalacji użytkownika nadzorowanego przez Google Play, używany do powiadamiania Cię o cofnięciu zatwierdzenia aplikacji. Zapoznaj się z dokumentacją dotyczącą cofniętych zatwierdzeń aplikacji.
Puste (pusta wartość) userStatus jest zweryfikowany, nieznany lub pusty.

Przykładowe odpowiedzi

Zweryfikowany użytkownik otrzyma:

  • Wartość userStatus będzie wynosić AgeSignalsVerificationStatus.VERIFIED.
  • Pozostałe pola odpowiedzi będą puste.

W przypadku nadzorowanego użytkownika otrzymasz:

  • Wartość userStatus będzie wynosić AgeSignalsVerificationStatus.SUPERVISED.
  • ageLower to liczba (np. 13).
  • ageUpper będzie liczbą (np. 15).
  • mostRecentApprovalDate będzie obiektem daty w języku Java (np. 2026-01-01) lub pusty (jeśli nie zatwierdzono żadnej istotnej zmiany).
  • installID to alfanumeryczny identyfikator wygenerowany przez Google Play (np.550e8400-e29b-41d4-a716-446655441111).

W przypadku nadzorowanego użytkownika, który oczekuje na zatwierdzenie istotnej zmiany, otrzymasz te informacje:

  • Wartość userStatus to:AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING
  • ageLower będzie liczbą (np. 13).
  • ageUpper będzie liczbą (np. 15).
  • mostRecentApprovalDate będzie obiektem daty w języku Java (np. 2026-01-01) lub pusty (jeśli nie zatwierdzono żadnej istotnej zmiany).
  • installID to alfanumeryczny identyfikator wygenerowany przez Google Play (np.550e8400-e29b-41d4-a716-446655441111).

Obsługa kodów błędów interfejsu API

Jeśli aplikacja wyśle żądanie do interfejsu Play Age Signals API (beta), a wywołanie się nie powiedzie, otrzyma kod błędu. Błędy te mogą wystąpić z różnych powodów, np. z powodu nieaktualnej aplikacji Sklep Play.

Strategia ponawiania

W sytuacjach, gdy użytkownik jest w sesji, zalecamy wdrożenie strategii ponawiania z maksymalną liczbą prób jako warunkiem zakończenia, aby błąd jak najmniej zakłócał działanie aplikacji.

Wartość liczbowa kodu błędu Kod błędu Opis Retryable
-1 API_NOT_AVAILABLE Interfejs Play Age Signals API jest niedostępny. Wersja aplikacji Sklep Play zainstalowana na urządzeniu może być stara.

Możliwe rozwiązanie
  • Poproś użytkownika o zaktualizowanie Sklepu Play.
Tak
-2 PLAY_STORE_NOT_FOUND Na urządzeniu nie znaleziono aplikacji Sklep Play. Poproś użytkownika o zainstalowanie lub włączenie Sklepu Play. Tak
-3 NETWORK_ERROR Nie znaleziono dostępnej sieci. Poproś użytkownika o sprawdzenie połączenia. Tak
-4 PLAY_SERVICES_NOT_FOUND Usługi Play są niedostępne lub ich wersja jest zbyt stara. Poproś użytkownika o zainstalowanie, zaktualizowanie lub włączenie Usług Play. Tak
-5 CANNOT_BIND_TO_SERVICE Nie udało się powiązać z usługą w Sklepie Play. Może to być spowodowane zainstalowaniem na urządzeniu starej wersji Sklepu Play lub przepełnieniem pamięci urządzenia. Poproś użytkownika o zaktualizowanie aplikacji Sklep Play. Podejmij ponowną próbę ze wzrastającym czasem do ponowienia. Tak
-6 PLAY_STORE_VERSION_OUTDATED Aplikacja Sklep Play wymaga aktualizacji. Poproś użytkownika o zaktualizowanie aplikacji Sklep Play. Tak
-7 PLAY_SERVICES_VERSION_OUTDATED Usługi Play wymagają aktualizacji. Poproś użytkownika o zaktualizowanie Usług Play. Tak
-8 CLIENT_TRANSIENT_ERROR Na urządzeniu klienta wystąpił przejściowy błąd. Wdróż strategię ponawiania z maksymalną liczbą prób jako warunkiem zakończenia. Jeśli problem nadal występuje, poproś użytkownika o ponowną próbę później. Tak
-9 APP_NOT_OWNED Aplikacja nie została zainstalowana przez Google Play. Poproś użytkownika o pobranie aplikacji z Google Play. Nie
-100 INTERNAL_ERROR Nieznany błąd wewnętrzny. Wdróż strategię ponawiania z maksymalną liczbą prób jako warunkiem zakończenia. Jeśli problem nadal występuje, poproś użytkownika o ponowną próbę później. Jeśli próby nadal będą wypadać negatywnie, skontaktuj się z zespołem pomocy Google Play dla deweloperów, w temacie podaj „Play Age Signals API” i podaj jak najwięcej szczegółów technicznych (np. raport o błędach). Nie