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 Google Play jest prawnie zobowiązany do 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 18+, 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'
Żą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 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 wiek, który kwalifikuje go do nowej kategorii wiekowej, Google Play automatycznie zaktualizuje zapisane sygnały wieku tego użytkownika w ciągu 2–8 tygodni od jego urodzin.
(Opcjonalnie) Otrzymywanie niestandardowych przedziałów wiekowych
Domyślne zakresy wiekowe zwracane przez interfejs API w odpowiednich jurysdykcjach i regionach to 0–12, 13–15, 16–17 i 18+. W przyszłości mogą one ulec zmianie w zależności od lokalnych wymagań.
Możesz też dostosować zakresy wieku do minimalnych progów wiekowych aplikacji, podając te progi na stronie Sygnały dotyczące wieku w Konsoli Google Play. Interfejs Age Signals API zwraca dostosowane przedziały wiekowe. Jeśli na przykład podasz minimalny wiek 9, 15 i 17 lat, 14-letni użytkownik będzie mieścił się w przedziale wiekowym 10–15 lat. Minimalny wiek musi różnić się o co najmniej 2 lata i można go zmienić raz w roku.
Aby dostosować zakresy wieku zwracane przez interfejs Age Signals API, możesz podać minimalne progi wiekowe dla swojej aplikacji:
- Otwórz stronę Sygnały dotyczące wieku w Konsoli Play.
- Na karcie Minimalny wiek użytkownika aplikacji wpisz maksymalnie 3 minimalne progi wiekowe dla swojej aplikacji.
- 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ź interfejsu API po otwarciu aplikacji. Odpowiadasz za zapewnienie 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 ikon ageLoweriageUpper, 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 ważnej zmiany.
Użyj ikon ageLoweriageUpper, aby określić przedział wiekowy użytkownika.
Użyj ikonymostRecentApprovalDate, aby określić ostatnią zatwierdzoną znaczącą 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 ikon ageLoweriageUpper, aby określić przedział wiekowy użytkownika.
Użyj ikonymostRecentApprovalDate, aby określić ostatnią zatwierdzoną znaczącą 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 ageLoweriageUpper, aby określić przedział wiekowy użytkownika. | 
| Pusta (pusta wartość) | Pole userStatusjest nieznane lub puste. | |
| ageUpper | 2–18 | Górna granica (włącznie) zakresu wieku nadzorowanego użytkownika.
Użyj parametrów ageLoweriageUpper, aby określić przedział wiekowy użytkownika. | 
| Puste (pusta wartość) | Albo userStatusjest nadzorowany, a rodzic użytkownika potwierdził, że ma on ukończone 18 lat.
lubuserStatusjest zweryfikowany, nieznany lub pusty. | |
| mostRecentApprovalDate | Datestamp | effective fromdata ostatniej zatwierdzonej znaczącej zmiany. Gdy aplikacja jest instalowana, używana jest data ostatniej istotnej zmiany przed instalacją. | 
| Puste (pusta wartość) | Albo userStatusjest nadzorowany i nie przesłano żadnych znaczących zmian.
LubuserStatusjest zweryfikowany, nieznany lub pusty. | |
| installID | Alfanumeryczny identyfikator wygenerowany przez Google Play. | Identyfikator przypisany do instalacji użytkowników nadzorowanych przez Google Play, który służy do powiadamiania Cię o cofnięciu zatwierdzenia aplikacji. Zapoznaj się z dokumentacją dotyczącą cofniętych zatwierdzeń aplikacji. | 
| Puste (pusta wartość) | userStatusjest zweryfikowany, nieznany lub pusty. | 
Przykładowe odpowiedzi
Zweryfikowany użytkownik otrzyma:
- userStatusbędzie mieć wartość- AgeSignalsVerificationStatus.VERIFIED.
- Pozostałe pola odpowiedzi będą puste.
W przypadku nadzorowanego użytkownika otrzymasz:
- userStatusbędzie mieć wartość- AgeSignalsVerificationStatus.SUPERVISED.
- ageLowerto liczba (np. 13).
- ageUpperbędzie liczbą (np. 15).
- mostRecentApprovalDatebędzie obiektem daty w języku Java (np.- 2026-01-01) lub pusty (jeśli nie zatwierdzono istotnej zmiany).
- installIDto 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:
- userStatusto:- AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING
- ageLowerto liczba (np. 13).
- ageUpperbędzie liczbą (np. 15).
- mostRecentApprovalDatebędzie obiektem daty w języku Java (np.- 2026-01-01) lub pusty (jeśli nie zatwierdzono istotnej zmiany).
- installIDto 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ść numeryczna 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 
 | 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 testy stale się nie powiodą, 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 | 
