AAB ›Модульная разработка› Динамическое распределение

Динамическая доставка в Android - Часть 1

Все, что вам нужно знать о пакетах Android App Bundle (AAB)

Google представила пакеты приложений и динамическую доставку еще в Google IO в 2018 году. Используя эти функции, мы можем существенно уменьшить размер приложения. В дополнение к этому, App-Bundles позволяют модульным приложениям динамически загружать код с помощью динамической доставки функций.

Динамическая доставка - это не то, о чем вы думаете сегодня, а внедряете завтра. Это процесс внесения в приложение ряда улучшений, которые сделают его совместимым для реализации функции динамических модулей доставки.

Ниже приведены три шага, которые нам нужно сделать, чтобы приложение поддерживало функцию динамической доставки:

  1. Обновление до App Bundle путем отказа от традиционного формата APK для загрузки в Play Store.
  2. Создайте модульную архитектуру приложения.
  3. Реализация модулей динамической доставки.

Наборы приложений для Android

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

Здесь мы использовали несколько APK, чтобы уменьшить размер в зависимости от типа устройства, плотности и т. Д. Это может на время решить проблему, но создание нескольких APK-файлов на основе различных факторов, таких как плотность и ОС Android, является дорогостоящим и сложным. Выполнив колоссальный объем работы, мы в конце концов сконцентрируемся больше на устройствах, чем на качестве / функциях приложения.

Основная цель Android App Bundles - предоставить экономичное приложение только с ресурсами и вещами, которые необходимы конкретному устройству, вместо того, чтобы заставлять пользователя загружать все файлы, которые не будут использоваться в течение жизни приложения. Android App Bundle - это новый формат распространения приложений с открытым исходным кодом и обратной совместимостью.

С пакетами Android App-Bundle пользователи могут создавать простые приложения, и разработчикам больше не нужно проходить через орешки, связанные с несколькими APK. Пакеты Android App похожи на APK; у них есть файлы dex, ресурсы, активы и многое другое. Внутри Android App Bundle используют функцию разделения APK, которая была представлена ​​в Android L. Пакеты Android App предназначены для распределения, а разделенные apks - это настоящие файлы, которые устанавливаются пользователями.

Базовые библиотеки Play позаботятся о динамическом разбиении на конкретное устройство во время загрузки. Здесь игровое ядро ​​выполняет тяжелую работу, что избавляет разработчиков от лишнего бремени. Основная библиотека Play выполняет эту работу с помощью инструмента сборки. Инструмент Bundle позаботится о преобразовании пакета приложений Android в разделенные APK в зависимости от плотности устройства, архитектуры, размеров и многих других факторов. Поскольку это открытый исходный код, мы можем использовать его для автономного тестирования перед тем, как отправиться в игровой магазин.

Как работают наборы Android App Bundle

При создании пакетов Android-приложений он упаковывает все, как и все ресурсы плотности и все языковые файлы, вместе с файлами dex. Но play core устанавливает только те разделения, которые требуются устройствам, такие как разделение с определенной плотностью и другие вещи.

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

Эти оптимистичные сплит-установки делают наборы Android App Bundle будущим распространения приложений для Android.

Вот как работают пакеты приложений для Android: как только вы создадите пакет со всем, Google Play позаботится о доставке разделов для конкретных устройств.

Наблюдения в реальном времени с помощью пакетов приложений для Android

Поговорим о наблюдении в реальном времени. В Twitter размер приложений уменьшился на 35% за счет использования пакетов приложений для Android. Больше похоже, что LinkedIn сэкономил 23% размера приложения, а Airbnb также сократил размер приложения на 11%. Это улучшения в реальном времени, которые уменьшили трение при установке.

Как создавать пакеты приложений для Android

Создание пакетов Android App Bundle очень похоже на то, что мы делаем сегодня с APK. На вкладке сборки на верхней панели студии, прямо там, где APK помещается в прошлое, есть опция Build bundle (s). Вам просто нужно выбрать новый формат публикации, чтобы воспользоваться преимуществами уменьшения размера приложения, а также это первый шаг к тому, чтобы ваше приложение работало с динамической доставкой.

TopBar ›Сборка› Build Bundle / APK

Тестирование пакетов приложений для Android

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

Заглянуть в будущее

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

В этом процессе каждое приложение имеет базовый модуль и желаемое количество динамических модулей. Итак, чтобы реализовать динамические функции, во-первых, ваше приложение должно иметь модули, основанные на этих функциях.

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

Бонус

Чтобы узнать больше о динамической доставке и модульном программировании, обратитесь к прошлым статьям этой серии:

Надеюсь, вы узнали что-то полезное, спасибо за чтение.

Вы можете найти меня в Medium, Twitter, Quora и LinkedIn.