Как новый формат публикаций повлияет на будущее Android

04.05.2020
Posted in blog-article
04.05.2020 admin

Как новый формат публикаций повлияет на будущее Android

Как новый формат публикаций повлияет на будущее Android

Пакет приложений для Android — лучший способ упаковать ваше приложение

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

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

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

Первые 10 лет Android

В течение десяти лет выпуск приложения на Android происходил таким образом.

Шаг 1. Вы пишете код для своего приложения в IDE, например, в Android Studio.

Шаг 2. Когда вы будете готовы протестировать или выпустить приложение, вы создадите его как APK — формат приложения Android. В рамках создания APK вы подписываете его цифровым ключом подписи приложения.

Подписание приложения означает надежное присоединение к нему уникального сертификата. Это механизм, который гарантирует, что вы — единственный, кто может создавать и устанавливать в магазин обновления этого приложения.

Как это работает? Перед обновлением приложения Android всегда проверяет, соответствует ли уникальный сертификат обновления уникальному сертификату приложения на устройстве. Позже вы поймете, с какой целью я это упомянул.

Шаг 3. Загрузите подписанный APK на тестовый трек с помощью Console Google Play. Когда вы будете готовы, вы выпустите свое приложение на рабочий трек и в мир.

Шаг 4. Google Play распределяет подписанный вами APK в том виде, в котором вы его загрузили, на устройство каждого пользователя, когда он запрашивает установку.

Это работало довольно хорошо на протяжении многих лет. Действительно, люди каждый месяц скачивают из Google Play более 8 миллиардов приложений! Но, как вы заметите позже, эта модель породила немало проблем для разработчиков, которые стало непросто игнорировать.

«Большая» проблема

Проблема состоит в том, что приложения становятся все больше и больше. Фактически, с 2012 года среднее приложение выросло в 5 раз. Это понятно: вы хотите добавить в свое приложение классные функции и новый контент, чтобы удержать и увеличить чисто пользователей.

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

Расширение приложений не имело бы большого значения, если бы у каждого пользователя было неограниченное хранилище, неограниченные данные и стабильное, высокоскоростное интернет-соединение. К сожалению, это не так (но возможно, однажды!).

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

Существует немало причин возникновения отрицательной статистики. К примеру, многим пользователям не хватает свободного места на их устройстве. Эта проблема свойственна владельцам гаджетов как начального, так и высшего класса:

-первые обладают просто скромным объемом хранилища,

-вторые нередко заполняют память фотографиями, видео и другими медиафайлами высокого разрешения, которые также конкурируют за ресурсы памяти.

Кроме того, многие люди не желают расходовать дорогие тарифные планы или испытывать неудобство с медленным соединением, свойственным эксплуатации  крупных приложений.

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

Вспомните собственный опыт. Случалось ли с вами, что при попытке скачивания какого-либо приложения, Google Play предлагал вам удалить другие программы из списка редко используемых? Миллионы людей видят эти предупреждения каждый день, и чаще всего они удаляют самые большие приложения и игры.

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

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

Они просто помещают все в один «толстый» APK, и пользователи получают на свои устройства неиспользуемый дублированный контент. Но даже если вы используете multi-APK, вы не сможете оптимизировать работу с языками. Вы должны включить в каждый APK все переведенные строки, даже если пользователь будет достаточно всего одного. А ведь переводы тоже занимают место!

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

«Маленькое» решение

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

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

Облегченная система загрузки

Чтобы реализовать эту концепцию, Google в начале этого года представила новый формат публикации приложений Android App Bundle. Расскажем подробнее о его работе.

Шаг 1. Вы пишете весь код приложения в IDE, например, Android Studio или на обычном игровом движке Unity.

Шаг 2. Когда вы будете готовы протестировать или выпустить приложение, вы создадите его как комплект приложений Android в новом формате публикации. Вы по-прежнему подпишете приложение, чтобы Google Play мог подтвердить, что оно от вас.

Шаг 3. Если вы этого еще не сделали, вы активируете подписку приложений в Google Play. Теперь вы можете выпустить приложение, загрузив его в один клик. Когда вы активируете подписку, Play выберет первый иcпользoванный вами для подписания приложения ключ в качестве ключа загрузки. Эта настройка сделана с целью идентификационной безопасности. Если вы потеряете ключ, вы сможете связаться с Google, чтобы подтвердить вашу личность и получить новый. Для существующих приложений вам необходимо посетить страницу подписи приложений в консоли Play и безопасно перенести туда этот ключ подписи. Подробнее о назначении этого действия мы узнаем в описании следующего этапа.

Шаг 4. Когда вы загружаете свой пакет приложений в Google Play, система его обрабатывает и генерирует разделенные APK, подписанные ключом подписи приложения для каждой возможной конфигурации устройства и языка, которые вы поддерживаете. Разделенные APK — это функция платформы Android, представленная в Android L. Пока каждый разделенный APK подписан одним и тем же ключом, платформа Android будет рассматривать их как одно приложение. Вы можете думать о разделенном APK как о «части» APK: чтобы запустить приложение, устройство обрабатывает все части как единое приложение.

Шаг 5. Когда пользователь устанавливает приложение, Play доставляет базовый APK (весь код, который является общим для каждого устройства), а также отдельный APK с языком (или языками, на которых говорит пользователь) и отдельный APK с конфигурацией (подходящей под размер экрана и архитектуру процессора устройства). Это означает, что устройство получает именно то, что ему нужно, без лишней информации. Для того чтобы обновления были приняты устройством, разделенные APK каждого выпуска должны быть подписаны тем же ключом подписи приложения, что и исходная установка.

Шаг 6. После установки приложения на устройство Play будет предоставлять дополнительные разделенные APK-файлы по требованию. Например, если пользователь изменит язык устройства или захочет использовать динамическую функцию, о которой я расскажу позже.

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

Перейти на работу с новой системой для большинства разработчиков не составит труда. Создание пакета приложений в Android Studio — это почти то же самое, что и сборка APK. Также подойдут пакеты приложений, созданные в бета-версии Unity 2018.3 и более поздних версиях. Пакет приложений Android имеет открытый исходный код, совместимый с каждой конфигурацией устройства и все языковые ресурсы.

Мы переключились на пакет приложений и загрузили наш первый внутренний релиз в течение часа.

Swiggy ~ 23% экономии размера.

Тысячи разработчиков популярных приложений используют в производстве пакеты приложений. Размеры APK разработчиков, использующих Android App Bundle, в среднем на 35% меньше, чем у выпускающих «универсальный APK»

Новый формат означает, что вам больше не придется использовать multi-APK для конфигурации устройств. Google Play позаботился об этом и сделает вашу жизнь немного проще.

Console Play вскоре начнет загружать большие пакеты приложений с установленными APK-файлами размером до 500 МБ, так что в большинстве случаев вам не придется использовать файлы расширения.

Оставив multi-APK, пакет приложений сэкономил наше рабочее время.

RedBus ~ 22% экономии размера

Преимущество новой модели и нового формата публикации заключается в том, что Google Play может внести в процесс создания APK оптимизацию, которая сбережет ваши время и усилия.

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

До появления Android M любые нативные библиотеки, включенные в ваше приложение, нужно было разархивировать из APK. Это означало, что на каждом устройстве было установлено две копии библиотеки: сжатая копия в APK и несжатая копия. Это потеря пространства.

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

Так что вы можете извлечь из этого выгоду, не беспокоясь о размере загрузки. Ограничения размера Play Console будут измеряться исходя из сжатого размера APK, который загружают пользователи, а не параметров приложения, которое загружаете в Play Console вы.

В среднем одна только эта оптимизация снижает размер загружаемых приложений, использующих собственные библиотеки, на 8%, а установленный на устройстве размер — на 16%. Это удивительное уменьшение размера является приятным дополнением к преимуществам, которые вы получаете при переходе на пакет приложений!

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

Riafy ~ 37% экономии размера

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

Google с помощью этой функции не получает дополнительный доступ или идентификационную информацию о разработчике. Она используется только для подписи сплит APK при установке и обновлении.

Безопасность — это то, к чему Google относится очень серьезно. В Google есть команда инженеров и развитая инфраструктура, защищающая ключи разработчиков. Для этого компания использует то же безопасное хранилище ключей, в котором хранит пароли от своих приложений.

Фактически, доверие ключа Google — это дополнительная возможность обезопасить себя от взлома или, к примеру, потери ключа. Без ключа вы не сможете обновить свое приложение, продолжить свою работу. Если же вы не доверили его Google, у нас не будет доступа к вашему паролю, и, к сожалению, мы ничего не можем сделать, чтобы помочь.

Динамические особенности

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

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

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

Большие функции, которые не требуются при установке: предложите их загрузку по требованию или укажите Google Play отложить их установку, переместив ее в фоновый режим. Таким образом вы можете отдельно загрузить до 100 МБ функций. Расширенные функции или надстройки, которые не являются ключевыми для работы вашего приложения при запуске, отлично подходят под эту категорию. Также сюда можно отнести расширенные функции для платных пользователей, параметры персонализации, функции AR и так далее.

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

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

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

Мгновенное открытие

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

Google Play Instant позволяет пользователям протестировать незнакомые приложения и игры с помощью кнопки «Попробовать» прямо в магазине Play, а также в момент рекламы внутри других приложений перед установкой их полной версии. Instant теперь присутствует на всех устройствах 1.3B. Он является отличным способом для обнаружения и захвата пользователей, которые, возможно, не установили приложение, если бы оно им не попалось на глаза, а потом и под пальцы.

К примеру, Vimeo является одним из партнеров Google, добившихся успеха благодаря Google Play Instant. Согласно статистическим данным, 15% их новых скачиваний происходит после тестирования в формате мгновенного приложения.

В прошлом некоторым разработчикам было нелегко внедрять мгновенные приложения из-за потребности в независимом процессе их сборки и выпуска. С пакетами приложений для Android вам больше не нужно создавать и поддерживать отдельное мгновенное приложение!

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

Предельный размер базового модуля вашего приложения и модуля мгновенного приложения, которые создадут и активируют кнопку «Попробовать» в магазине Play Store и веб-баннерах, составляет всего 10 МБ. Только учтите, что мгновенные приложения могут запрашивать только поддерживаемые разрешения. Если ваше приложение использует другие разрешения, просто обработайте их в соответствии с требованиями.

Конечно, никто не говорит, что каждому приложению будет удобно смириться с лимитом в 10 МБ. Чтобы значительно уменьшить размер вашего приложения, воспользуйтесь постепенной загрузкой функциональности с применением динамических функциональных модулей.

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

Если вы сумеете сделать базовый модуль и модуль мгновенной точки входа меньше 4 МБ, вы активируете больше рекламных площадок для мгновенных приложений, например, Поиск Google и любую веб-ссылку, к которой вы предоставили доступ, например, по электронной почте или в социальных сетях. В бета-версии Android Studio 3.3 возможно создание единого пакета приложений для мгновенного и установочного пакетов.

Быстрое обновление

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

В то время как многие пользователи Google Play имеют автоматическое обновление включено, многие не, и другие не часто подключаются к сильному подключению Wi-Fi, чтобы сохранить все свои приложения обновляются.

Новый Google играть в-приложение обновления API позволит вам определить, когда доступно обновление, и интегрировать настраиваемый, встроенный поток обновлений, который выглядит и чувствует себя частью вашего приложения.

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

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

Некоторые приложения разрабатывают для этого собственные решения. Новый API — это наиболее простой, стандартизированный способ восстановить порядок в вашем приложении.Гибкие обновления более настраиваемы. Когда такое обновление будет принято, оно будет загружено в фоновом режиме. Сразу после завершения загрузки вы можете либо предложить пользователю перезапустить программу, либо оставите активацию на время, когда приложение перейдет в фоновый режим.

Google Chrome прямо сейчас тестирует API обновлений в приложении, и скоро мы представим результаты большому количеству разработчиков. API подходит для любой программы, поэтому вы сможете начать его использовать просто переключившись на пакет приложений.

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

Меньше, лучше, быстрее, свежее

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

Наконец, с нашей программой вам станет еще проще поддерживать приложения ваших пользователей в актуальном состоянии. Переключиться на пакет приложений для Android легко, вы можете скачать программу с g.co/androidappbundle. Добро пожаловать в новое десятилетие роста экосистемы Android и успеха разработчиков.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Contact

Давайте работать вместе!

Пишите нам и найдем точки соприкосновения, может станем партнерами, а может поможем вам зайти в нашу чудесную нишу

Вы разработчик?

Пишите! Нам постоянно нужны новые кадры, либо можем помочь в продвижении вашего приложения

Новичок?

Поможем быстро войти в нишу, не тратя годы на понимание

Давно в нише?

Рады будем пообщаться как на темы whitehat, так и blackhat тематики ^_^ + всегда есть что обсудить по поводу рекламных сетей

ПИШИ В TELEGRAM!

Contact