Play Integrity API: программа раннего доступа к активности учетной записи (EAP)

Создайте более эффективную и детальную стратегию борьбы со злоупотреблениями с помощью активности учетной записи Play — нового сигнала в Play Integrity API. Активность учетной записи представлена ​​уровнями в зависимости от наличия и объема активности магазина, а также возраста учетных записей на устройстве. При его оценке возвращается уровень активности учетной записи для текущего сеанса пользователя и не связан с идентификаторами пользователя или устройства.

Что такое активность учетной записи Play?

Play Integrity API предлагает набор сигналов целостности, которые помогают разработчикам приложений и игр обнаруживать потенциально опасный и мошеннический трафик. Разработчики, участвующие в этой программе раннего доступа, могут добавлять действия учетной записи в свой ответ API, который уже содержит вердикты о лицензии на устройство, приложение и учетную запись. Если в вердиктах устройства, приложения или лицензии есть проблемы, активность учетной записи не будет оцениваться. Если существующие вердикты не вызывают проблем, активность аккаунта вернет уровень. Уровень определяется на основании наличия и объёма активности магазина и возраста аккаунтов на устройстве. Этот уровень поможет вашему приложению различать вероятных подлинных пользователей и вероятный ненастоящий трафик (например, учетные записи, используемые для мошенничества, учетные записи, используемые для автоматического трафика, или учетные записи, используемые в фермах устройств). Ваше приложение может использовать этот сигнал наряду с другими при защите ценных или конфиденциальных действий.

Приложения, участвующие в программе раннего доступа (EAP), могут получить один из следующих уровней активности учетной записи для текущего сеанса пользователя:

  • UNEVALUATED : активность учетной записи не оценивается, поскольку устройство не является доверенным или у пользователя нет лицензии приложения Play.
  • UNUSUAL : активность в магазине Google Play необычна по крайней мере для одной из учетных записей пользователей на устройстве. Google Play рекомендует проверить, что это реальный пользователь.
  • UNKNOWN : в Google Play недостаточно активности в магазине для учетной записи пользователя на устройстве. Аккаунт может быть новым или с ним может не быть активности в Google Play.
  • TYPICAL (BASIC) : активность в магазине Google Play типична для учетной записи пользователя или учетных записей на устройстве.
  • TYPICAL (STRONG) : активность в магазине Google Play типична для учетной записи пользователя или учетных записей на устройстве, с сигналами, которые сложнее воспроизвести.

Используйте активность аккаунта как часть стратегии борьбы со злоупотреблениями.

Активность учетной записи работает лучше всего, когда она используется вместе с другими сигналами как часть вашей общей стратегии борьбы со злоупотреблениями, а не как единственный механизм борьбы со злоупотреблениями. Используйте этот сигнал и API целостности Play в сочетании с другими соответствующими рекомендациями по обеспечению безопасности вашего приложения.

Соберите телеметрию и поймите свою аудиторию, прежде чем предпринимать действия.

Прежде чем изменять функциональность на основе активности учетной записи или других вердиктов Play Integrity API, внедрите API без принудительного применения, чтобы понять текущую ситуацию с существующей аудиторией. Как только вы узнаете, к какому уровню возвращается ваша текущая база установок, вы сможете оценить влияние любых планируемых мер и соответствующим образом скорректировать свою стратегию борьбы со злоупотреблениями.

Борьба с рискованным трафиком при доступе к ценным или конфиденциальным функциям

Определите важные или конфиденциальные действия в вашем приложении или игре, чтобы защитить их с помощью Play Integrity API, а не полностью запрещать доступ к вашему приложению или игре. По возможности проверяйте рискованный трафик, прежде чем разрешить выполнение важных действий. Например, если уровень активности учетной записи UNUSUAL , вам может потребоваться второй механизм проверки, прежде чем пользователь сможет выполнить действие, которое вы защищаете.

План поддержки пользователей

По возможности предоставляйте пользователю полезные сообщения об ошибках и сообщайте ему, что он может сделать, чтобы исправить это, например повторить попытку, включить подключение к Интернету или проверить актуальность приложения магазина Google Play. Google Play периодически обновляет оценки активности аккаунта. Новые действия в магазине могут автоматически менять уровень пользователя во время этих периодических обновлений.

Следуйте существующим рекомендациям для Play Integrity API.

В дополнение к предыдущим рекомендациям ознакомьтесь с соображениями безопасности для Play Integrity API.

Получите ранний доступ к активности учетной записи Play Integrity API

Выполните следующие действия, чтобы начать использовать активность учетной записи.

Шаг 1. Ознакомьтесь с этими важными соображениями

  • Активность аккаунта находится в активной разработке и может быть изменена.
  • Активность аккаунта по-прежнему конфиденциальна. Не передавайте информацию об активности учетной записи или уровнях активности учетной записи конечным пользователям.
  • Используя действия учетной записи, вы соглашаетесь с условиями Соглашения о распространении программных продуктов Google Play и Условиями использования Play Integrity API .
  • Ожидается, что разработчики, участвующие в программе раннего доступа, оценят сигнал активности учетной записи и предоставят отзыв и информацию о результатах своей оценки в Google Play, прежде чем менять свою стратегию обеспечения соблюдения правил.

Шаг 2. Отправьте запрос на присоединение к аккаунту Play Integrity API EAP.

Разработчики, участвующие в Партнерской программе Google Play для игр, автоматически получают доступ к EAP активности учетной записи и могут перейти к шагу 3.

Другие разработчики могут выразить свою заинтересованность в присоединении к программе раннего доступа, отправив электронное письмо на целостность-api-eap@google.com со следующей информацией:

  • Имя вашего пакета и идентификатор учетной записи разработчика.
  • Подтверждение того, что вы ознакомились с рекомендуемыми правилами действий с учетной записью.
  • Как вы собираетесь оценивать активность учетной записи и — если у вас уже есть идея — как вы собираетесь использовать активность учетной записи.
  • Ожидаемый график после того, как вы будете приняты в программу раннего доступа к активности учетной записи.

В настоящее время мы принимаем только разработчиков, которые соответствуют высоким пороговым значениям производительности в Google Play и имеют аккаунты с хорошей репутацией.

Шаг 3. Включите активность учетной записи в ответе Integrity API из консоли Google Play.

После того как вы будете приняты в программу раннего доступа, на странице Integrity API в Play Console вы увидите новую опцию, позволяющую включить активность учетной записи в ваш ответ Play Integrity API. Когда вы будете готовы, включите активность учетной записи в Play Console:

  1. Войдите в Play Console.
  2. Выберите приложение, которое будет использовать активность учетной записи.
  3. В разделе «Выпуск» левого меню перейдите к «Целостность приложения» .
  4. Рядом с Play Integrity API нажмите «Настройки» .
  5. В разделе «Ответы» на странице рядом с «Активность учетной записи » нажмите «Включить» .
  6. В появившемся окне нажмите Включить .

Когда вы включаете или отключаете активность учетной записи, все ответы тестов Play Integrity API , которые вы настроили в Play Console, будут удалены, и вам придется создать их заново.

Шаг 4. Интегрируйте API Integrity в свое приложение и на внутренний сервер вашего приложения.

Если вы еще этого не сделали, следуйте документации, чтобы интегрировать Play Integrity API в ваше приложение и его внутренний сервер.

Шаг 5. Работайте с активностью аккаунта

После включения поле accountDetails в полезных данных Play Integrity API будет содержать сигнал активности новой учетной записи, который представляет активность, связанную с учетными записями пользователей на устройстве.

accountDetails: {
  // Represents the licensing status of the user session.
  // This field can be LICENSED, UNLICENSED, or UNEVALUATED.
  appLicensingVerdict: "LICENSED"

  // Represents the activity level associated with the user accounts on
  // the device of the user session.
  accountActivity: {
     // This field can be UNEVALUATED, UNUSUAL,
     // UNKNOWN, TYPICAL_BASIC, TYPICAL_STRONG
     activityLevel: "UNUSUAL"
  }
}

accountActivity может иметь следующие значения:

НЕОБЫЧНЫЙ
Действия в магазине Google Play необычны по крайней мере для одной из учетных записей пользователей на устройстве.
НЕИЗВЕСТНЫЙ
В Google Play недостаточно активности в магазине для учетной записи пользователя на устройстве. Аккаунт может быть новым или с ним может не быть активности в Google Play.
ТИПИЧНЫЙ (БАЗОВЫЙ)
Действия в магазине Google Play типичны для учетной записи пользователя или учетных записей на устройстве.
ТИПИЧНЫЙ (СИЛЬНЫЙ)
Действия в магазине Google Play типичны для учетной записи пользователя или учетных записей на устройстве, но сигналы сложнее воспроизвести.
НЕОЦЕНЕННЫЙ

Активность учетной записи не оценивается, поскольку было пропущено необходимое требование.

Это может произойти по нескольким причинам, включая следующие:

  • Устройство не заслуживает доверия.
  • Версия вашего приложения, установленного на устройстве, неизвестна Google Play.
  • Пользователь не авторизован в Google Play.
  • У пользователя нет необходимой лицензии для доступа к приложению.

Чтобы проверить наличие необычной активности в учетных записях пользователей на устройстве, убедитесь, что accountActivity.activityLevel соответствует ожидаемому, как показано в следующем фрагменте кода:

Котлин

val requestDetails = JSONObject(payload).getJSONObject("accountDetails")
val accountActivity = requestDetails.getJSONObject("accountActivity")
val activityLevel = accountActivity.getString("activityLevel")

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

Ява

JSONObject requestDetails =
    new JSONObject(payload).getJSONObject("accountDetails");
JSONObject accountActivity =
    new JSONObject(requestDetails).getJSONObject("accountActivity");
String activityLevel = accountActivity.getString("activityLevel");

if (activityLevel == "UNUSUAL") {
    // One of the accounts is UNUSUAL! Be careful.
}

Шаг 6. Проверьте свою интеграцию с активностью аккаунта.

Вы можете создавать тесты, чтобы оценить, как уровни активности учетной записи из Play Integrity API взаимодействуют с вашим приложением, используя доступную функцию тестирования Play Integrity API. Инструкции по использованию этой функции тестирования доступны в справочном центре Play Console .

Шаг 7. Отправьте отзыв о раннем доступе к Google Play.

Мы хотели бы, чтобы участники программы раннего доступа оставляли отзывы о деятельности аккаунта. Чтобы оставить отзыв, отправьте электронное письмо по адресу целостности-api-eap@google.com . Наша исследовательская группа разработчиков также свяжется с вами для организации собеседований. Нам интересно понять следующее:

  • Насколько точно уровень активности аккаунта коррелирует с известными аккаунтами, злоупотребляющими вашим приложением или игрой?
  • Соответствует ли распределение аудитории по активности аккаунта и другим вердиктам Play Integrity API вашим ожиданиям?
  • Какие проблемы со злоупотреблениями вы пытаетесь решить с помощью активности аккаунта и других вердиктов Play Integrity API?
  • Какие функции вы планируете изменить в зависимости от активности учетной записи и других вердиктов Play Integrity API?

Другие инструменты обеспечения целостности Play

Рассмотрите возможность использования этих других инструментов защиты целостности как часть вашей стратегии борьбы со злоупотреблениями:

  • Запретите ненадежным устройствам возможность найти и установить ваше приложение в Google Play. Это не мешает пользователям получать и устанавливать ваше приложение другими способами (например, путем загрузки неопубликованных приложений).
  • Используйте автоматическую защиту целостности , чтобы предотвратить несанкционированное изменение и распространение без внесения изменений в ваш код. Если у вас в настоящее время нет доступа к этой функции, обратитесь к своему менеджеру по работе с партнерами.
  • Запросите защиту имени пакета (программа раннего доступа) для защиты от неизвестных и измененных версий вашего приложения, когда бы они ни были установлены на устройствах Android 11+, на которых работают сервисы Google Play.