Используйте API сигналов Play Age (бета)

Используя 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, вы можете указать минимальный возраст для своего приложения:

  1. Перейдите на страницу «Сигналы возраста» в Play Console.
  2. На вкладке «Минимальный возраст приложения» введите до трех минимальных возрастов для вашего приложения.
  3. Нажмите «Сохранить» .

Возрастные сигналы реакции

Ответ 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.

Возможное разрешение
  • Попросите пользователя обновить 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 и предоставив как можно больше технических подробностей (например, отчёт об ошибке). Нет