Компания Adobe уменьшила размер своего приложения на 20 % с помощью Dynamic Delivery и наборов App Bundle
Контекст
Компания Adobe разрабатывает инструменты для творчества и эффективной работы с 1982 года. Такие приложения, как Photoshop, Illustrator и Lightroom, не теряют популярности уже несколько десятилетий. А самой известной разработкой Adobe является формат PDF, созданный около 30 лет назад.
Бесплатное флагманское приложение Adobe Acrobat Reader для Android – это мировой стандарт для просмотра, подписания и комментирования PDF-документов. Число его скачиваний превышает 500 миллионов. С каждым годом Adobe Acrobat Reader становится все лучше и лучше. "За последний год мы добавили в приложение для Android множество функций", – рассказал Шубхам Гарг, специалист в области информатики компании Adobe. Хотя пользователям понравились новые возможности, они заметили, что размер приложения увеличился. Это привело к снижению числа конверсий. Как отметил Шубхам, эта проблема была особенно заметна в развивающихся странах, где размер приложения имеет важное значение.
Что было сделано
Наборы Android App Bundle позволили Adobe без особых усилий уменьшить размер приложения Acrobat Reader. "Перейти на использование наборов App Bundle было легко, – сказал Шубхам. – Наше приложение уже поддерживало минимальную версию Android SDK и отвечало требованиям Gradle, поэтому нам потребовалось лишь немного изменить код". Он отметил, что после того как компания передала копию ключа подписи в Google, процесс выпуска версий стал проще.
В дополнение к наборам App Bundle команда Adobe стала использовать динамические функциональные модули. Благодаря этому размер приложения стал ещё меньше. "Мы уже использовали модули библиотек в приложении, но динамические функции позволи по-новому подойти к модульной структуре, – сказал Шубхам. – По сути приложение является самостоятельным, так что время его компиляции не зависит от функций. При необходимости они могут быть установлены позже".
В первую очередь разработчики сделали модульной функцию "Заполнить и подписать". Благодаря технологии Dynamic Delivery команде Adobe не нужно было включать ресурсы для всех разрешений экрана и языков в каждый APK-файл. Так как разработчики уже разделили старые APK по архитектуре процессоров, им не пришлось выполнять дополнительные действия, чтобы обеспечить совместимость APK-файлов с наборами App Bundle.
Результаты
Наборы App Bundle и технология Dynamic Delivery позволили уменьшить размер Acrobat Reader до 15 МБ, то есть на 22–25 %. Для отдельных устройств размер приложения удалось снизить на 30 %. Процесс выпуска новой версии прошел без помех. "Мы не заметили снижения производительности, и скачивание не вызвало проблем", – сказал Шубхам. Он объясняет это тем, что выпуск версии можно было легко протестировать. "Благодаря внутреннему доступу к приложениям мы смогли протестировать процесс с точки зрения пользователей Google Play. Это также позволило нам загружать доступные для отладки приложения, не беспокоясь об управлении версиями".
При использовании наборов Android App Bundle нужно создать только один объект для загрузки в Google Play, что значительно экономит время разработчиков. "Ранее мы создавали четыре APK-файла для каждой архитектуры процессора", – объяснил Шубхам. Теперь достаточно загрузить один набор App Bundle. Команда отметила, что коэффициент конверсии установок увеличился на 5–7 %, а число жалоб на размер приложения сократилось.
Шубхам отметил, что благодаря технологии Dynamic Delivery размер приложения и время установки сократились. До перехода на модульную структуру команда загружала четыре APK-файла для каждой версии приложения. Так как коды версии у этих APK-файлов различались, разработчикам приходилось измерять и анализировать их показатели отдельно. Это усложняло сбор статистики и приводило к ошибкам. Благодаря наборам App Bundle достаточно загрузить только один объект с одним кодом версии. "Это упрощает разработку. Теперь мы можем предоставлять тестировщикам одну сборку приложения и знать, что она будет работать на всех устройствах", – сказал Шубхам.
Что дальше? "Мы хотим протестировать условное предоставление функций, чтобы узнать, как это повлияет на размер приложения, а также какие преимущества дает загрузка определенных функций в зависмости от конкретной аудитории", – рассказал Шубхам.
Пора начать
Наборы Android App Bundle могут использовать разработчики любых игр и приложений. Начните сейчас!