Korzystanie z interfejsu Play Age Signals API (beta)

Korzystając z interfejsu Play Age Signals API (beta), akceptujesz warunki korzystania z usługi i zobowiązujesz się do przestrzegania 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 o użytkownikach z regionów, w których Google Play musi udostępniać dane o kategoriach wiekowych zgodnie z przepisami prawa.

Google Play zwraca przedział wiekowy na podstawie przedziałów wiekowych określonych 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 oraz 18+, ale niestandardowe przedziały wiekowe mogą być też zwracane. Google Play automatycznie aktualizuje sygnały dotyczące wieku w pamięci podręcznej użytkownika w ciągu 2–8 tygodni po jego urodzinach.

Integracja interfejsu Play Age Signals API z aplikacją

Interfejs Play Age Signals API jest obsługiwany na telefonach, urządzeniach składanych i tabletach z Androidem 6.0 (poziom interfejsu API 23) i nowszym. Aby zintegrować interfejs Play Age Signals API z aplikacją, dodaj tę zależność do pliku build.gradle aplikacji:

implementation 'com.google.android.play:age-signals:0.0.3'

Żądanie sygnałów dotyczących 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 VERIFIED, DECLARED, SUPERVISED, 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.
          }
        });

(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 oraz 18+.

Możesz też dostosować domyślne 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.

  1. Otwórz stronę Sygnały dotyczące wieku w Konsoli Play.
  2. Na karcie Niestandardowe przedziały wiekowe wpisz maksymalnie 3 minimalne progi wiekowe dla swojej aplikacji. Minimalne progi wiekowe muszą różnić się o co najmniej 2 lata i można je zmienić raz na rok.
  3. Kliknij Zapisz.

Zwracane przedziały wiekowe zastąpią domyślną odpowiedź interfejsu API. Przykład:

  • Jeśli w Konsoli Google Play ustawisz 1 minimalny próg wiekowy (15 lat):

    • W przypadku użytkownika w wieku od 0 do 14 lat zwrócimy ageLower = 0 i ageUpper = 14.
    • W przypadku użytkownika w wieku 15 lat lub starszego zwrócimy ageLower = 15.
  • Jeśli ustawisz 2 minimalne progi wiekowe (13 i 17 lat):

    • W przypadku użytkownika w wieku od 0 do 12 lat zwrócimy ageLower = 0 i ageUpper = 12.
    • W przypadku użytkownika w wieku od 13 do 16 lat zwrócimy ageLower = 13 i ageUpper = 16.
    • W przypadku użytkownika w wieku 17 lat lub starszego zwrócimy ageLower = 17.
  • Jeśli ustawisz 3 minimalne progi wiekowe (11, 13 i 15 lat):

    • W przypadku użytkownika w wieku od 0 do 10 lat zwrócimy ageLower = 0 i ageUpper = 10.
    • W przypadku użytkownika w wieku 11 lub 12 lat zwrócimy ageLower = 11 i ageUpper = 12.
    • W przypadku użytkownika w wieku 13 lub 14 lat zwrócimy ageLower = 13 i ageUpper = 14.
    • W przypadku użytkownika w wieku 15 lat lub starszego zwrócimy ageLower = 15.

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ź interfejsu API, gdy aplikacja się otworzy. Ponosisz odpowiedzialność za zapewnianie treści dostosowanych do wieku odbiorcy za pomocą tych sygnałów.

Pole odpowiedzi Wartości Opis
userStatus ZWERYFIKOWANO Google zweryfikowało wiek użytkownika za pomocą uzasadnionej ekonomicznie metody, takiej jak dokument tożsamości wydany przez organ państwowy, karta kredytowa lub oszacowanie wieku na podstawie twarzy. Jeśli userStatus ma wartość VERIFIED, możesz zignorować pozostałe pola.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.
ZADEKLAROWANO Wiek użytkownika został zadeklarowany przez niego, jego rodzica lub opiekuna prawnego.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.
NADZOROWANE Użytkownik ma nadzorowane konto Google zarządzane przez rodzica, który ustawia jego wiek.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.

Użyj pola mostRecentApprovalDate, aby określić ostatnią zatwierdzoną istotną zmianę.
OCZEKIWANIE_NA_ZATWIERDZENIE_NADZORU Użytkownik ma nadzorowane konto Google, a jego rodzic lub opiekun prawny nie zatwierdził jeszcze co najmniej 1 oczekującej istotnej zmiany.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.

Użyj pola mostRecentApprovalDate, aby określić ostatnią zatwierdzoną istotną zmianę.
ODRZUCONE_ZATWIERDZENIE_NADZORU Użytkownik ma nadzorowane konto Google, a jego rodzic lub opiekun prawny odrzucił zatwierdzenie co najmniej 1 istotnej zmiany.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.

Użyj pola mostRecentApprovalDate, aby określić ostatnią zatwierdzoną istotną zmianę.
NIEZNANE Wiek użytkownika jest nieznany, a użytkownik znajduje się w odpowiedniej jurysdykcji lub regionie.

Dotyczy tylko stanów USA: aby uzyskać sygnał dotyczący wieku z Google Play, poproś użytkownika o przejście do Sklepu Play i rozwiązanie problemu ze stanem.
null Albo użytkownik nie znajduje się w odpowiednich jurysdykcjach i regionach.

Albo użytkownik nie udostępnia swojego wieku aplikacjom.
ageLower Od 0 do 18 Dolna granica (włącznie) przedziału wiekowego nadzorowanego użytkownika.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.
null
userStatus jest nieznany lub ma wartość null.
ageUpper Od 2 do 18 Górna granica (włącznie) przedziału wiekowego nadzorowanego użytkownika.

Użyj pól ageLower i ageUpper, aby określić przedział wiekowy użytkownika.
null Albo userStatus ma wartość „nadzorowany”, a wiek użytkownika podany przez rodzica lub opiekuna prawnego jest wyższy niż 18 lat.

Albo userStatus jest nieznany lub ma wartość null.
mostRecentApprovalDate Znacznik daty Data effective from ostatniej zatwierdzonej istotnej zmiany. Gdy aplikacja jest instalowana, używana jest data ostatniej istotnej zmiany przed instalacją.
null Albo userStatus ma wartość „nadzorowany” i nie przesłano żadnej istotnej zmiany.

Albo userStatus ma wartość „zweryfikowano”, „nieznane” lub null.
installID Alfanumeryczny identyfikator wygenerowany przez Google Play. Identyfikator przypisany do instalacji nadzorowanych użytkowników przez Google Play, używany do powiadamiania o cofnięciu zatwierdzenia aplikacji. Zapoznaj się z dokumentacją dotyczącą cofnięcia zatwierdzenia aplikacji.
null userStatus ma wartość „zweryfikowano”, „nieznane” lub null.

Przykładowe odpowiedzi dotyczące użytkowników w Brazylii

W Brazylii userStatus może mieć tylko wartość DECLARED, UNKNOWN, lub null.

W przypadku użytkownika, który zadeklarował swój wiek i udostępnia go aplikacjom, otrzymasz te informacje:

  • userStatus będzie mieć wartość AgeSignalsVerificationStatus.DECLARED.
  • ageLower będzie liczbą (np. 13).
  • ageUpper będzie liczbą lub wartością null (np. 15).
  • Pozostałe pola odpowiedzi będą mieć wartość null.

W przypadku użytkownika, którego wiek jest nieznany, otrzymasz te informacje:

  • userStatus będzie mieć wartość AgeSignalsVerificationStatus.UNKNOWN.
  • Pozostałe pola odpowiedzi będą mieć wartość null.

W przypadku użytkownika, którego wiek nie jest udostępniany aplikacjom, otrzymasz te informacje:

  • userStatus będzie mieć wartość null.
  • Pozostałe pola odpowiedzi będą mieć wartość null.

Gdy wiek użytkownika będzie dostępny do udostępnienia, stan użytkownika może zmienić się na DECLARED.

Przykładowe odpowiedzi dotyczące użytkowników w stanach USA

W odpowiednich stanach USA userStatus może mieć wartość VERIFIED, SUPERVISED, SUPERVISED_APPROVAL_PENDING, SUPERVISED_APPROVAL_DENIED, UNKNOWN, lub null.

W przypadku zweryfikowanego użytkownika otrzymasz te informacje:

  • userStatus będzie mieć wartość AgeSignalsVerificationStatus.VERIFIED.
  • ageLower będzie liczbą (np. 18).
  • ageUpper będzie liczbą lub wartością null (np. null).
  • Pozostałe pola odpowiedzi będą mieć wartość null.

W przypadku nadzorowanego użytkownika otrzymasz te informacje:

  • userStatus będzie mieć wartość AgeSignalsVerificationStatus.SUPERVISED.
  • ageLower będzie liczbą (np. 13).
  • ageUpper będzie liczbą lub wartością null (np. 15).
  • mostRecentApprovalDate będzie obiektem daty Java (np. 2026-01-01) lub null (jeśli nie zatwierdzono żadnej istotnej zmiany).
  • installID będzie alfanumerycznym identyfikatorem wygenerowanym przez Google Play (np. 550e8400-e29b-41d4-a716-446655441111).

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

  • userStatus będzie mieć wartość AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING.
  • ageLower będzie liczbą (np. 13).
  • ageUpper będzie liczbą lub wartością null (np. 15).
  • mostRecentApprovalDate będzie obiektem daty Java (np. 2026-01-01) lub null (jeśli nie zatwierdzono żadnej istotnej zmiany).
  • installID będzie alfanumerycznym identyfikatorem wygenerowanym 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, a wywołanie się nie powiedzie, aplikacja otrzyma kod błędu. Błędy te mogą występować z różnych powodów, np. z powodu nieaktualnej wersji aplikacji Sklep Play.

Strategia ponawiania

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

Wartość numeryczna kodu błędu Kod błędu Opis Można ponowić
-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 Google Play są niedostępne lub ich wersja jest zbyt stara. Poproś użytkownika o zainstalowanie, zaktualizowanie lub włączenie Usług Google 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 przeładowaniem pamięci urządzenia. Poproś użytkownika o zaktualizowanie aplikacji Sklep Play. Ponów 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 Google Play wymagają aktualizacji. Poproś użytkownika o zaktualizowanie Usług Google 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
-10 SDK_VERSION_OUTDATED Wersja pakietu SDK Play Age Signals nie jest już obsługiwana. Poproś użytkownika o zaktualizowanie aplikacji do nowszej wersji, która korzysta z najnowszej wersji pakietu SDK Play Age Signals. 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