Многие пользователи Android предпочитают загружать приложения в обход Play Store по различным причинам. Однако у разработчиков также есть веские основания, чтобы блокировать такую возможность. Приложения, загруженные не через Play Store, не учитываются в статистике, к тому же они могут быть несовместимы с устройством, что может привести к сбоям или отсутствию некоторых функций. Но теперь, благодаря обновлению Play Integrity API от Google, разработчики получили ещё один инструмент, чтобы усложнить пользователям загрузку приложений в обход официального магазина приложений.
Play Integrity API — это интерфейс, который помогает разработчикам проверять, что взаимодействие с приложением происходит через подлинную версию программы на настоящем Android-устройстве. API проверяет, не подвергалось ли приложение изменениям, работает ли оно в надёжной программной среде и активирована ли защита Google Play Protect на самом устройстве. Если вы сталкивались с SafetyNet Attestation на рутированных устройствах, то Play Integrity будет вам знаком, поскольку это его преемник, только с большим набором возможностей для разработчиков.
Как и в случае с SafetyNet, разработчики могут вызывать Play Integrity API в любое время при работе приложения и получать так называемый вердикт о целостности. На основании этого вердикта они решают, как действовать дальше: некоторые приложения блокируют доступ при запуске, если устройство или приложение не проходят проверку, другие используют API только при выполнении чувствительных операций, предупреждая пользователя о возможных рисках. Последнее обновление Play Integrity API добавляет возможность не только проверять устройство, но и определять, был ли пользователь, установивший приложение, «настоящим», то есть приобрёл ли он приложение через Play Store.
Например, если вердикт приложения возвращает статус «UNLICENSED», это значит, что пользователь не купил приложение через Play Store. В ответ на это разработчик может показать пользователю диалог GET_LICENSED, предлагая скачать приложение из цифрового магазина. Если пользователь соглашается, его учётная запись становится лицензированной, и приложение добавляется в библиотеку Play Store, получая возможность получать обновления.
Если пользователь согласится на установку, приложение откроет страницу в Play Store, где вместо стандартной кнопки «установить» появляется кнопка «установить из Play Store». При нажатии этой кнопки пользователь увидит диалог с вопросом о том, хочет ли он установить приложение из официального магазина. В этом случае незарегистрированная версия приложения будет удалена вместе со всеми связанными данными.
До появления этой функции разработчики уже могли определять, было ли приложение загружено в обход Play Store, но новая функция упрощает процесс проверки. Пока неизвестно, какие приложения уже используют эту возможность, но весьма вероятно, что её начнут применять игровые проекты. Например, популярная игра Diablo Immortal уже внедрила что-то похожее.
По мере того как Google улучшает механизмы проверки Play Integrity и добавляет новые функции, пользователям, предпочитающим рутировать свои устройства, будет всё труднее это оправдывать. В то же время обычные пользователи получат лучшую защиту от потенциально опасных приложений и мошеннических действий, что, безусловно, сделает Play Integrity API популярным среди разработчиков. Уже сейчас этот API используется такими крупными приложениями, как Stripe, Uber и TikTok, и с течением времени их количество будет только расти.
Ещё по теме: