На этой странице рассказывается, как использовать запоминание устройства, чтобы хранить и получать пользовательские данные на определенных устройствах. Вы сможете обращаться к этим данным, когда приложение будет установлено на том же устройстве, даже если на нем сброшены настройки. Это позволяет обнаруживать и предотвращать повторное использование устройства на основе указанного вами действия или поведения, сохраняя при этом конфиденциальность пользователя.
Как работает запоминание устройства?
Функция запоминания устройства позволяет приложениям хранить и вызывать пользовательские данные, связанные с определенным устройством, не нарушая конфиденциальность пользователя. Так как информация хранится на серверах Google, ваше приложение сможет обращаться к ней даже после сброса настроек устройства или переустановки. Например, вы можете использовать эту функцию, чтобы отозвать устройства, на которых вы обнаружили доказательства серьезных нарушений, устройства, на которых уже были активированы ценные предметы (например, бесплатная пробная версия), или устройства, которые неоднократно используются для создания новых аккаунтов в целях злоупотребления. Запоминание устройства не нарушает конфиденциальность пользователя, поскольку запрашивающее приложение может обращаться только к ограниченному объему данных, связанных с устройствами, и не имеет доступа к идентификаторам устройств или идентификаторам пользователей. После включения запоминания устройства вы можете:
- Чтение данных по устройствам. При получении оценки целостности вы можете прочитать три специальных значения или бита для каждого устройства. Вы можете сами определить, что будут означать эти значения. Например, их можно использовать как три отдельных параметра или объединить, чтобы получить восемь меток продавца.
- Изменение данных на уровне устройства. Получив токен целостности, вы можете использовать его, чтобы выполнить вызов сервера Google Play и изменить одно или несколько значений. Токен можно использовать в течение 14 дней. Это позволяет изменить значение, если, например, злоупотребление становится очевидным только через две недели после первой проверки целостности. При изменении значения также сохраняются месяц и год, когда это было сделано.
Требования и рекомендации по использованию функции запоминания устройства
Запоминание устройства можно использовать только для хранения и получения информации, которая помогает защищать приложение и предотвращать злоупотребления, мошенничество и несанкционированный доступ. Запрещено использовать запоминание устройства для цифровых отпечатков, отслеживания отдельных пользователей или устройств, а также для отслеживания конфиденциальных характеристик пользователей или устройств, таких как пол, возраст или данные о местоположении.
Для использования функции "Запоминание устройства" необходимо следующее:
- Запоминание устройства можно использовать на телефонах, планшетах, складных устройствах, телевизорах, автомобилях и устройствах Wear OS. На устройствах Wear OS запоминание устройств доступно только в Wear OS 5 и более поздних версиях. Запоминание устройства не поддерживается в эмуляторах.
- Чтобы использовать запоминание устройства, на нем должны быть установлены и включены последние версии Google Play и сервисов Google Play.
- Для запоминания устройства у аккаунта пользователя должна быть лицензия Google Play, иначе оценка не будет выполнена.
При использовании функции запоминания устройства учитывайте следующее:
- После проверки токена целостности у вас есть до 14 дней, чтобы использовать его для хранения пользовательских данных запоминания устройства.
- Запоминание устройства включает временные метки, чтобы вы могли считать недавно измененные данные более приоритетными, чем данные, измененные давно. Рекомендуем игнорировать или сбрасывать данные по истечении достаточно длительного периода времени, чтобы учесть, что устройства могут переходить из рук в руки или быть отремонтированы и перепроданы.
- Биты отзыва для устройства хранятся в течение трех лет после последнего доступа для чтения или записи.
- Если вам нужно удалить все данные, связанные с устройством, приложение может сбросить все три значения на этом устройстве до false. Это автоматически сбросит временные метки.
Если у разработчика несколько приложений или он переносит приложения, запоминание устройства работает следующим образом:
- Все приложения в вашем аккаунте разработчика Google Play имеют доступ к одним и тем же трем значениям для каждого устройства. Другими словами, если одно из ваших приложений изменит одно из значений, то все ваши приложения будут считывать измененное значение, когда они установлены на одном устройстве.
- Если приложение перенесено из одного аккаунта разработчика в другой, то в запоминании устройства будут отражены данные для каждого устройства из нового аккаунта, а не из старого.
Как включить запоминание устройства
Когда все будет готово, включите запоминание устройства в Play Console:
- Войдите в Play Console.
- Выберите приложение, которое будет использовать запоминание устройства.
- В меню слева выберите Защищено Google Play.
- Рядом с 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"}