В Android блокируют установку приложений из сторонних источников. Почему это важно?

image


Источник: androidauthority.com

Сразу скажу, что это не централизованное блокирование со стороны самой корпорации Google. Нет, компания просто разрешила самим разработчикам ПО закрывать возможность загрузки их приложений из сторонних источников. Включая и установку посредством APK-файлов. Вполне может быть, что некоторые разработчики коммерческих приложений, популярных среди пользователей, этой возможностью могут воспользоваться. Что случилось и к чему это может привести?

i6dd-cgxsmbgkcbqji5ztfb9hfq.png


Что происходит


Разработчики Android-приложений теперь способны блокировать установку своего софта со сторонних источников. Т. е. создатель какой-то программы может разрешить ее установку лишь из Google Play. Запретить можно даже давно привычную многим установку из APK-файлов. А это может довольно сильно повлиять на баланс сил в экосистеме Android-приложений.

Пользователи OS Андроид за 16 лет существования операционной системы Android привыкли к тому, что практически любое приложение можно установить откуда угодно. Вернее, из любого места, где оно вообще есть, включая и загрузку APK-файла. Очень часто именно эту возможность приводят в качестве преимущества Android перед iOS. Администраторы каталога приложений под iOS могут в любое время заблокировать любое приложение — и ничего с этим не поделать. Простого способа установить приложение, которого нет в App Store, нет.

Теперь примерно то же самое может случиться и с Android. Конечно, администрация каталога приложений тоже может удалить программу, но раньше такой софт в любом случае можно было загрузить откуда-то еще. Есть и масса разных альтернативных каталогов программ, включая RuStore. Теперь если разработчик популярного приложения захочет заблокировать загрузку софта из альтернативных источников, у пользователей возникнут сложности.

Корпорация Google, насколько можно судить, постепенно внедряет политику привязки пользователей к определенному каталогу приложений — своему каталогу, Google Play. Делается это посредством добавления набора команд Play Integrity API, к которым у разработчиков теперь есть полный доступ. Для обращения к Play Integrity API используется стандартный Android SDK с использованием соответствующих библиотек. Пример кода для инициализации вызова API:

PlayIntegrityManager integrityManager = PlayIntegrityManagerFactory.create(context);
IntegrityTokenRequest integrityTokenRequest = IntegrityTokenRequest.builder()
    .setNonce(nonce) // Генерация уникального nonce для каждого запроса
    .build();

integrityManager.requestIntegrityToken(integrityTokenRequest)
    .addOnSuccessListener(new OnSuccessListener() {
        @Override
        public void onSuccess(IntegrityTokenResponse integrityTokenResponse) {
            String integrityToken = integrityTokenResponse.token(); 
            // Отправка токена на сервер для валидации
        }
    })
    .addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(Exception e) {
            // Обработка ошибок
        }
    });


Основные задачи Play Integrity API по данным Google


  • Проверка подлинности устройства. API помогает проверить, работает ли приложение на официальном, сертифицированном устройстве с установленной и не модифицированной версией Android. Это важно для предотвращения запуска приложений на рутированных или взломанных устройствах.
  • Оценка целостности приложения. API позволяет убедиться, что приложение не было модифицировано и установлено с официального источника — Google Play. Это помогает защитить приложение от сторонних вмешательств и модификаций, таких как удаление рекламы или разблокировка премиум-функций.
  • Борьба с мошенничеством. API помогает обнаруживать подозрительные активности, такие как использование поддельных учетных записей, эмуляторов или инструментов для обмана — например, изменения поведения приложения через инструменты отладки.


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

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

Почему это изменение настолько важно


Дело в том, что пользователей Android гораздо больше, чем юзеров iOS. Доля рынка Android составляет 71,67% против 21,73% у iOS. Соответственно, изменения могут затронуть десятки миллионов пользователей. И, скорее всего, затронут.

Проблема появилась не так давно: дело в том, что корпорация Google представила новые инструменты на конференции Google I/O 2024 и всего через четыре месяца сделала их доступными для всех. Сделано это, вероятно, потому, что со стороны производителей игр и софта поступали запросы относительно мер против пиратства. Корпорация, вероятно, не хотела использовать такие централизованные методы блокирования приложений, как в iOS. Поэтому, поразмыслив, компания решила предоставить разработчикам автономный инструмент, который позволяет предотвращать загрузку пиратских копий ПО.

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

Здесь стоит вспомнить еще и о том, что у большинства крупных поставщиков Android-устройств есть собственный каталог приложений: GetApps у Xiaomi, AppGallery у Huawei, Galaxy Store у Samsung, а в РФ это RuStore, который сейчас актуален для многих пользователей. И если все эти сторонние каталоги перестанут работать, то крупные компании столкнутся с претензиями своих клиентов, ведь проданные телефоны ценны, прежде всего, благодаря возможности устанавливать любые приложения.

Эксперты считают, что со временем проблема будет усугубляться, поскольку количество разработчиков, применяющих Play Integrity API, увеличится. По мнению представителей портала Android Authority, некоторые разработчики уже внедрили новые инструменты. Речь, например, про Tesco и BeyBlade X, а также игру Diablo Immortal.

Конечно, вполне может быть, что умельцы быстро разберутся с Play Integrity API и станут появляться специализированные утилиты. Но все же это сужает круг возможностей пользователей Android — не все из них технически подкованные. В любом случае, для того, чтобы понять влияние новых инструментов в Android OS, нужно подождать с полгода или год.

А как вы считаете, что изменится из-за Play Integrity API в ближайшем будущем? Делитесь мнением в комментариях.

© Habrahabr.ru