Обнаружение повторных нарушений с помощью отзыва устройства (бета-версия)

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

Как работает отзыв устройства?

Отзыв устройства дает приложениям возможность хранить и вызывать пользовательские данные, связанные с конкретным устройством, таким образом, чтобы сохранить конфиденциальность пользователя. Данные хранятся на серверах Google, что позволяет вашему приложению надежно вызывать ваши пользовательские данные даже после переустановки приложения или перезагрузки устройства. Например, вы можете использовать эту функцию для отзыва устройств, на которых вы обнаружили доказательства серьезного злоупотребления, устройств, на которых уже были выкуплены дорогостоящие предметы (например, бесплатная пробная версия), или устройств, которые неоднократно используются для создания новых учетных записей в неправомерных целях. Отзыв устройства сохраняет конфиденциальность пользователя, поскольку запрашивающее приложение может вызвать только ограниченные данные, связанные с устройствами, без доступа к каким-либо идентификаторам устройств или пользователей. После включения отзыва устройства вы можете сделать следующее:

  • Чтение данных для каждого устройства . При получении вердикта целостности вы можете прочитать три настраиваемых значения или бита для каждого устройства. Вы можете определить свое собственное значение этих значений; например, вы можете рассматривать значения как три отдельных флага или объединить их, чтобы представить восемь пользовательских меток.
  • Изменение данных для каждого устройства . После получения токена целостности вы можете использовать этот токен для серверного вызова сервера Google Play для изменения одного или нескольких значений. У вас есть до 14 дней, чтобы использовать токен. Это позволяет вам изменить значение, если, например, злоупотребление становится очевидным только через две недели после первого выполнения проверки целостности. При изменении значения также сохраняются месяц и год внесения изменения.

Предварительные условия и соображения по отзыву устройств

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

Отзыв устройства имеет следующие предпосылки:

  • Отзыв устройства можно использовать на телефонах, планшетах, складных устройствах, телевизорах, автомобилях и Wear OS. На Wear отзыв устройства доступен только на устройствах с Wear OS 5 или более поздней версии. Отзыв устройства не поддерживается в эмуляторах.
  • Для отзыва устройства необходимо, чтобы на устройстве были установлены и включены последние версии Google Play Store и сервисов Google Play.
  • Для отзыва устройства требуется, чтобы учетная запись пользователя имела лицензию Play, в противном случае вердикт не будет учитываться.

При отзыве устройства учитываются следующие моменты:

  • После проверки токена целостности у вас есть до 14 дней, чтобы использовать его для хранения данных отзыва настраиваемых устройств.
  • Отзыв устройства включает временные метки, поэтому недавно измененные данные могут считаться более приоритетными, чем данные, которые были изменены давным-давно. Рассмотрите возможность игнорировать или сбросить данные по истечении достаточно длительного периода времени, чтобы принять во внимание, что устройства могут переходить из рук в руки, а также быть отремонтированы и перепроданы.
  • Биты отзыва устройства будут храниться в течение 3 лет после последнего доступа для чтения или записи.
  • Если вам нужно удалить все данные, связанные с устройством, ваше приложение может сбросить все три значения на этом устройстве на ложные. Это автоматически сбросит отметки времени.

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

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

Включить вызов устройства

Когда вы будете готовы, включите вызов устройства в Play Console:

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

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

Чтение значений отзыва устройства

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

Изменить значения отзыва устройства

Вы можете изменить значения отзыва устройства, выполнив межсерверный вызов API, аналогичный декодированию вердикта целостности . Установка бита в true также обновит дату записи (даже если она уже была true ). Установка бита в значение false приведет к сбросу даты записи на пустое значение. Любые биты, не указанные в запросе, останутся неизменными. Между записью битов и возможностью их обратного считывания в вердикте существует небольшая задержка. Эта задержка может достигать 30 секунд, хотя обычно она намного короче. Запросы на запись отзыва устройства должны быть реже, чем запросы токена целостности. Они не учитываются в квоте запроса токена целостности, но на них распространяются непубличные защитные ограничения скорости.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'