Используя API Play Age Signals (бета-версия), вы соглашаетесь с условиями обслуживания и обязуетесь соблюдать все политики Google Play для разработчиков . Чтобы запросить статус и возраст пользователя, вы вызываете API из своего приложения во время выполнения. API Play Age Signals возвращает данные только о пользователях из регионов, где Play обязан предоставлять данные о возрастных категориях по закону.
Play возвращает возрастной диапазон, основанный на возрастных группах, определенных в соответствующей юрисдикции и регионах. API возвращает возрастные группы по умолчанию в соответствующих юрисдикциях и регионах: 0–12, 13–15, 16–17 и 18+, но эти значения могут меняться в зависимости от региональных требований.
Интегрируйте API Play Age Signals в свое приложение
Чтобы интегрировать API Play Age Signals в ваше приложение, добавьте следующую зависимость в файл build.gradle
вашего приложения:
implementation 'com.google.android.play:age-signals:0.0.1-beta01'
Запрос сигналов возраста
Вот пример запроса сигналов возраста:
// 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.
}
});
Сигналы возраста сохраняются Google Play на устройстве каждого пользователя. Когда пользователь с контролируемым аккаунтом Google переходит в новый возрастной диапазон, Google Play автоматически обновляет кэшированные сигналы возраста для этого пользователя в течение 2–8 недель после его дня рождения.
(Необязательно) Получайте пользовательские возрастные диапазоны
Возрастные диапазоны по умолчанию, возвращаемые API в соответствующих юрисдикциях и регионах, составляют 0–12, 13–15, 16–17 и 18+. В будущем эти диапазоны могут измениться в зависимости от местных требований.
Кроме того, чтобы настроить возрастные диапазоны в соответствии с минимальным возрастом вашего приложения, вы можете указать эти минимальные возрастные диапазоны на странице «Сигналы возраста» в Google Play Console. API сигналов возраста возвращает настроенные возрастные диапазоны. Например, если вы указали минимальный возраст 9, 15 и 17 лет, 14-летний пользователь будет попадать в возрастной диапазон 10–15 лет. Минимальные возрастные диапазоны должны отличаться не менее чем на 2 года и могут изменяться раз в год.
Чтобы настроить возрастные диапазоны, возвращаемые API Age Signals, вы можете указать минимальный возраст для своего приложения:
- Перейдите на страницу «Сигналы возраста» в Play Console.
- На вкладке «Минимальный возраст приложения» введите до трех минимальных возрастов для вашего приложения.
- Нажмите «Сохранить» .
Возрастные сигналы реакции
Ответ API Play Age Signals (бета-версия) включает следующие поля и значения. Значения могут изменяться. Если вам нужны самые актуальные значения, запросите ответ API при открытии приложения. Вы несёте ответственность за предоставление соответствующих возрасту возможностей с использованием этих сигналов.
Поле ответа | Ценности | Описание |
---|---|---|
userStatus | ПРОВЕРЕНО | Пользователь старше 18 лет. Google подтвердил возраст пользователя, используя коммерчески обоснованный метод, такой как удостоверение личности государственного образца, кредитная карта или оценка возраста по лицу. |
ПОД НАБЛЮДЕНИЕМ | У пользователя есть контролируемый аккаунт Google, которым управляет родитель, устанавливающий его возраст. Используйте ageLower и ageUpper для определения возрастного диапазона пользователя. | |
СУПЕРВИЗИОННОЕ_УТВЕРЖДЕНИЕ_ОЖИДАЕТСЯ | У пользователя есть контролируемый аккаунт Google, и родитель, осуществляющий надзор, ещё не одобрил одно или несколько ожидающих внесения существенных изменений. Используйте ageLower и ageUpper для определения возрастного диапазона пользователя. Используйте mostRecentApprovalDate для определения последнего одобренного существенного изменения. | |
СУПЕРВИЗИОННОЕ_ОДОБРЕНО_ОТКАЗО | У пользователя есть контролируемый аккаунт Google, и родитель, осуществляющий надзор, отклонил одно или несколько существенных изменений. Используйте ageLower и ageUpper для определения возрастного диапазона пользователя. Используйте mostRecentApprovalDate для определения последнего существенного изменения, которое было одобрено. | |
НЕИЗВЕСТНЫЙ | Пользователь не верифицирован и не находится под надзором в соответствующих юрисдикциях и регионах . Эти пользователи могут быть старше или младше 18 лет. Чтобы получить сигнал о возрасте от Google Play, попросите пользователя посетить Play Store и уточнить свой статус. | |
Пусто (пустое значение) | Все остальные пользователи возвращают это значение. | |
ageLower | от 0 до 18 | Нижняя граница возрастного диапазона контролируемого пользователя (включительно). Используйте параметры ageLower и ageUpper для определения возрастного диапазона пользователя. |
Пусто (пустое значение) | userStatus неизвестен или пуст. | |
ageUpper | от 2 до 18 | Верхняя граница возрастного диапазона контролируемого пользователя (включительно). Используйте параметры ageLower и ageUpper для определения возрастного диапазона пользователя. |
Пусто (пустое значение) | Либо userStatus находится под наблюдением, а родительский возраст пользователя превышает 18 лет. Либо userStatus проверен, неизвестен или пуст. | |
mostRecentApprovalDate | Датештамп | Дата effective from последнего значительного изменения, которое было одобрено. При установке приложения используется дата последнего значительного изменения, внесенного до установки. |
Пусто (пустое значение) | Либо userStatus находится под наблюдением, и существенных изменений не было. Либо userStatus проверен, неизвестен или пуст. | |
installID | Сгенерированный в процессе игры буквенно-цифровой идентификатор. | Идентификатор, присваиваемый Google Play контролируемым установкам, который используется для уведомления об отзыве одобрения приложения. Подробнее об отзыве одобрения приложения см. в документации. |
Пусто (пустое значение) | userStatus — проверено, неизвестно или пусто. |
Обработка кодов ошибок API
Если ваше приложение отправляет запрос к Play Age Signals API (бета) и вызов завершается ошибкой, оно получает код ошибки. Эти ошибки могут возникать по разным причинам, например, из-за того, что приложение Play Store устарело.
Стратегия повтора
В ситуациях, когда пользователь находится в сеансе, мы рекомендуем реализовать стратегию повторных попыток с максимальным количеством попыток в качестве условия выхода, чтобы ошибка как можно меньше нарушала работу пользователя.
Числовое значение кода ошибки | Код ошибки | Описание | Повторяемый |
---|---|---|---|
-1 | API_НЕ_ДОСТУПНО | API Play Age Signals недоступен. Возможно, на устройстве установлена старая версия приложения Play Store. Возможное разрешение
| Да |
-2 | PLAY_STORE_NOT_FOUND | На устройстве не обнаружено приложение Play Store. Попросите пользователя установить или включить Play Store. | Да |
-3 | NETWORK_ERROR | Доступная сеть не найдена. Попросите пользователя проверить наличие подключения. | Да |
-4 | PLAY_SERVICES_NOT_FOUND | Сервисы Play недоступны или их версия слишком устарела. Попросите пользователя установить, обновить или включить сервисы Play. | Да |
-5 | CANNOT_BIND_TO_SERVICE | Не удалось привязаться к сервису в Play Маркете. Это может быть связано с установленной на устройстве старой версией Play Маркета или перегрузкой памяти. Попросите пользователя обновить приложение Play Маркета. Повторите попытку с экспоненциальной задержкой. | Да |
-6 | PLAY_STORE_VERSION_USTDATED | Необходимо обновить приложение Play Store. Попросите пользователя обновить приложение Play Store. | Да |
-7 | PLAY_SERVICES_VERSION_USTDATED | Необходимо обновить сервисы Play. Попросите пользователя обновить сервисы Play. | Да |
-8 | CLIENT_TRANSIENT_ERROR | На клиентском устройстве произошла временная ошибка. Реализуйте стратегию повторных попыток с максимальным количеством попыток в качестве условия выхода. Если проблема не устранена, попросите пользователя повторить попытку позже. | Да |
-9 | APP_NOT_WNED | Приложение не было установлено через Google Play. Попросите пользователя скачать ваше приложение из Google Play. | Нет |
-100 | ВНУТРЕННЯЯ_ОШИБКА | Неизвестная внутренняя ошибка. Реализуйте стратегию повторных попыток с максимальным количеством попыток в качестве условия выхода. Если проблема не устранена, попросите пользователя повторить попытку позже. Если ошибка повторяется, обратитесь в службу поддержки разработчиков Google Play , указав в теме письма Play Age Signals API и предоставив как можно больше технических подробностей (например, отчёт об ошибке). | Нет |