На этой странице описывается, как использовать функцию отзыва устройства для хранения и извлечения пользовательских данных с конкретных устройств. Вы сможете надежно восстановить пользовательские данные позже, когда ваше приложение будет установлено на том же устройстве, даже после его сброса. Это позволяет обнаруживать и предотвращать повторное использование устройства на основе указанного вами действия или поведения, сохраняя при этом конфиденциальность пользователя.
Как работает отзыв устройства?
Функция отзыва устройств позволяет приложениям хранить и отзывать пользовательские данные, связанные с конкретным устройством, сохраняя конфиденциальность пользователя. Эти данные хранятся на серверах Google, что позволяет приложению надежно отзывать ваши пользовательские данные даже после переустановки приложения или сброса настроек устройства. Например, вы можете использовать эту функцию для отзыва устройств, на которых были обнаружены следы серьёзного злоупотребления, устройств, на которых уже были активированы дорогостоящие товары (например, бесплатная пробная версия), или устройств, которые неоднократно использовались для создания новых учётных записей в противоправных целях. Функция отзыва устройств сохраняет конфиденциальность пользователя, поскольку запрашивающее приложение может отзывать только ограниченные данные, связанные с устройствами, без доступа к каким-либо идентификаторам устройств или пользователей. После включения функции отзыва устройств вы можете сделать следующее:
- Чтение данных по каждому устройству : при получении вердикта о целостности вы можете прочитать три пользовательских значения или бита для каждого устройства. Вы можете определить собственное значение этих значений; например, можно рассматривать их как три отдельных флага или объединить их для представления восьми пользовательских меток.
- Изменение данных по каждому устройству : получив токен целостности, вы можете использовать его для выполнения серверного вызова на сервере Google Play для изменения одного или нескольких значений. Токен можно использовать в течение 14 дней. Это позволяет изменить значение, например, если злоупотребление станет очевидным только в течение двух недель после первой проверки целостности. При изменении значения также сохраняются месяц и год внесения изменения.
Предпосылки и соображения по отзыву устройств
Отзыв устройства может использоваться только для хранения и отзыва информации в целях защиты безопасности приложения и предотвращения злоупотреблений, мошенничества и несанкционированного доступа. Запрещается использовать функцию отзыва устройства для снятия отпечатков пальцев или отслеживания отдельных пользователей или устройств, а также для отслеживания конфиденциальных характеристик пользователя или устройства, таких как пол, возраст или местоположение.
Отзыв устройства имеет следующие предварительные условия:
- Функция отзыва устройства доступна на телефонах, планшетах, складных устройствах, телевизорах, автомобилях и Wear OS. На Wear функция отзыва устройства доступна только на устройствах с Wear OS 5 или более поздней версии. Функция отзыва устройства не поддерживается на эмуляторах.
- Для отзыва устройства необходимо установить и включить на устройстве последние версии Google Play Store и сервисов Google Play.
- Для отзыва устройства необходимо, чтобы учетная запись пользователя имела лицензию Play, в противном случае вердикт не будет принят к рассмотрению.
При отзыве устройства необходимо учитывать следующие временные факторы:
- После проверки токена целостности у вас будет до 14 дней, чтобы использовать его для хранения данных об отзыве пользовательских устройств.
- При отзыве устройств учитываются временные метки, поэтому недавно изменённые данные могут иметь больший приоритет, чем те, которые были изменены давно. Рассмотрите возможность игнорировать или сбросить данные по истечении достаточно длительного периода времени, учитывая, что устройства могут переходить из рук в руки, ремонтироваться и перепродаваться.
- Биты отзыва для устройства будут храниться в течение 3 лет после последнего доступа для чтения или записи.
- Если вам нужно удалить все данные, связанные с устройством, ваше приложение может сбросить все три значения на этом устройстве до значения «false». Это автоматически сбросит временные метки.
Для разработчиков с несколькими приложениями и разработчиков, переносящих приложения, отзыв устройств работает следующим образом:
- Все приложения в вашем аккаунте разработчика Google Play имеют доступ к одним и тем же трём значениям на каждом устройстве. Другими словами, если одно из ваших приложений изменяет одно из значений, то все ваши приложения будут считывать изменённое значение при установке на то же устройство.
- Если приложение переносится из одной учетной записи разработчика в другую, при отзыве устройства будут учитываться данные новой учетной записи разработчика по каждому устройству, а не данные старой учетной записи разработчика по каждому устройству.
Включить отзыв устройства
Когда будете готовы, включите функцию отзыва устройства в Play Console:
- Войдите в Play Console.
- Выберите приложение, которое будет использовать функцию отзыва устройства.
- В разделе «Выпуск» левого меню перейдите в раздел «Целостность приложения» .
- Рядом с Play Integrity API нажмите Настройки .
- В разделе «Ответы» на странице нажмите Изменить ответы .
- Включите функцию отзыва устройства.
- Нажмите Сохранить изменения.
При включении или выключении отзыва устройства все тестовые ответы 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 } }'
newValues.BitFirst = true // ForceSendFields optional for value true newValues.BitSecond = false // ForceSendFields required for value false newValues.BitThird = nil // do not set ForceSendFields for unspecified bits newValues.ForceSendFields = []string{"BitSecond"}