Как стать автором
Обновить
0
Broadcasts Group
Образовательный проект о мобильной разработке

Android 14. Сторонним магазинам приложений станет проще

Время на прочтение2 мин
Количество просмотров1.9K

Евросоюз продавливают Apple и Google для полноценного предоставления работы сторонним магазинам приложения на ОС, а на iOS и вовсе чтобы такая возможность появилась. По итогу компании сами начали делать что-то на опережение. В Android 14 Dev Preview 2 сделали опыт использования сторонних магазинов.

Установка приложения из App Bundle

Новое API в PackageManager, которое позволит улучшить пользовательский опыт магазинов приложений. Современный формат для загрузки приложения в Google Play - App Bundle. Из App Bundle создается несколько APK, которые надо установить на устройство. Сейчас сторонним магазинам при каждой установке нового APK или обновлении существующего приложения приходится получать разрешение пользователя на установку.

С помощью PackageInstaller.Session.requestUserPreapproval() можно запросить разрешение один раз в рамках сессии на установку нескольких APK

Прозрачные обновления для пользователей

Следующая новинка для сторонних магазинов в API - PackageInstaller.SessionParams.setRequestUpdateOwnership(). Метод позволяет задать приложение, которое устанавливает будет ответственно за его обновления в будущем. Запрос на установку обновления из такого приложения не будет показываться пользователю. Для работы этого метода надо будет запросить разрешение ENFORCE_UPDATE_OWNERSHIP (выдаётся при установке приложения)

Установка приложений без прерывания

Новый класс PackageInstaller.InstallConstraints позволит задавать условия, когда может быть выполнена установка приложения, а именно:

  • Приложение не видно пользователю

  • Пользователь не взаимодействует с приложением

  • Приложение не видно пользователю или нет запущенных Foreground Service

  • Устройство не используется пользователем

  • Нет активного звонка

Появилось 3 новых методы в PackageInstaller, которые позволяют задавать требования для установки:

  • checkInstallConstraints() - асинхронный метод, который проверяет удовлетворяет ли требованиям приложение для установки

  • commitSessionAfterInstallConstraintsAreMet() - запускает сессию установки приложения, только когда все требования будут удовлетворены

  • waitForInstallConstraints() - асинхронный метод. Аналог checkInstallConstraints(), но вызывается когда требования для установки будут удовлетворены

Данное изменение будет полезно всем магазинам приложений, даже Google Play, чтобы обеспечить лучший пользовательский опыт.

Теги:
Хабы:
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Другие новости

Информация

Сайт
androidbroadcast.dev
Дата регистрации
Дата основания
Численность
1 человек (только я)
Местоположение
Беларусь

Истории