Защита целостности игр Google Play на ПК

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

Воспроизвести API целостности

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

Поле целостности устройства

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

  • MEETS_DEVICE_INTEGRITY : приложение работает на устройстве Android с сервисами Google Play. Устройство проходит проверку целостности системы и соответствует требованиям совместимости с Android.
  • MEETS_VIRTUAL_INTEGRITY : приложение работает в виртуальной среде Android со службами Google Play, которые в настоящее время ограничены Google Play Games на ПК. Среда соответствует основным требованиям совместимости Android и проходит проверки целостности Google Play.
  • Нет (пустое значение): приложение работает на устройстве, имеющем признаки атаки (например, перехват API) или взлома системы (например, наличие root-доступа), или приложение работает на нефизическом устройстве (например, эмулятор), который не проходит проверку целостности Google Play.

Play Integrity API использует значение deviceRecognitionVerdict MEETS_VIRTUAL_INTEGRITY чтобы указать, что игра работает в Google Play Games на ПК. Вот пример передаваемого ответа от Play Integrity API:

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

Если у вас есть кроссплатформенная игра, доступная как на мобильных устройствах, так и на Google Play Games для ПК, убедитесь, что ваша логика проверки проверяет как MEETS_VIRTUAL_INTEGRITY , так и MEETS_DEVICE_INTEGRITY .

Автоматическая защита целостности

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

Автоматическая защита целостности помогает защитить целостность с помощью следующих функций:

  • Требовать установку из Google Play : добавляет проверку, было ли ваше приложение установлено из Google Play. Если эта проверка не пройдена, пользователю будет предложено загрузить ваше приложение из Google Play. Эта функция включена по умолчанию, но вы можете ее отключить. Отключение этой функции отключает защиту от пиратства для платных приложений.
  • Ограничить модификацию : добавляет проверку, не было ли ваше приложение изменено. Если эта проверка не пройдена, приложение не запускается. Эта функция всегда включена и не может быть отключена.
  • Ограничить обратное проектирование : добавляет обфускацию и другие продвинутые методы, которые затрудняют злоумышленнику удаление проверок во время выполнения. Эта функция всегда включена и не может быть отключена.

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

Защита работает независимо от того, есть ли подключение к Интернету или передача данных. Серверные компоненты не требуются. Для проверки «Требовать установку из Play» периодически требуется подключение для передачи данных, если приложение Play Store на устройстве не было в сети в течение длительного периода.