Android 12 нарешті дозволить альтернативним магазинам додатків оновлювати програми самостійно

Google виконав свою обіцянку покращити магазини програм сторонніх розробників на Android, дозволивши їм встановлювати програми у фоновому режимі на Android 12.

Ще в кінці вересня минулого року Google оголосив що це буде «вносити зміни в Android 12... щоб людям було ще простіше користуватися іншими магазинами додатків на своїх пристроях, не порушуючи заходів безпеки, які застосовує Android" у відповідь на монтажний тиск від Epic Games і державних регуляторів. Однак Google не уточнив точно які зміни вони збиралися внести в Android, і вони також не поділилися жодною конкретною інформацією про цю зміну в Google I/O 2021. У Google офіційний допис у блозі анонсуючи Android 12, однак компанія підтвердила, що «виконує [свою] обіцянку створити сторонні програми Завдяки документації розробників ми нарешті маємо уявлення про те, які зміни зробив.

Google оновив PackageInstaller для Android. Клас SessionParams із викликом нового методу setRequireUserAction. Цей метод вказує, чи потрібна дія користувача, перш ніж дозволити встановлення програми. За замовчуванням значення true для будь-якої програми, яка містить

REQUEST_INSTALL_PACKAGES дозвіл, який потрібен для будь-якої програми, перш ніж вони зможуть ініціювати сеанс встановлення, щоб завантажити програму за межами Google Play або будь-якого попередньо встановленого магазину програм на пристрої.

Однак дія користувача не буде потрібно для встановлення/оновлення програми, якщо все з наступних умов:

  • Програма встановлення вибирає нову поведінку.
  • Додаток, який встановлюється, має рівень API 29 (Android 10) або вищий. (Google зазначає, що вимога до цільового рівня API буде вдосконалена в майбутніх версіях Android, політика, яка відповідає Політика Google Play щодо цільових вимог API.)
  • Інсталятор або оновлюється сам, або встановлює оновлення програми, яку він встановив спочатку.
  • Інсталятор заявляє про UPDATE_PACKAGES_WITHOUT_USER_ACTION дозвіл.

Таким чином, коли магазин додатків намагається розпочати сеанс інсталяції та використовує цей новий API, оновлення має бути можливим без необхідності користувача вручну приймати оновлення. Це значно пришвидшить пакетне оновлення додатків і наблизить роботу до Google Play Store.