что такое инстант аппс на андроид
Instant Apps в Android: предназначение и особенности использования
Если вы пользуетесь смартфонами на базе операционной системы Android, скорее всего, сталкивались с таким понятием, как Instant Apps, вот только сразу и не скажешь, что это такое, не так ли? Технологии развиваются, возможности наших телефонов постоянно расширяются, и среди такого многообразия опций попросту не успеваешь опробовать все фишки своего смартфона.
Из статьи вы узнаете
Что это такое?
Instant Apps — это технология, используемая в Google Play для запуска демо-версий приложений или игр. Например, вам хочется загрузить на свой смартфон программу для прослушивания музыки или новую игру, которая вышла недавно, и вы заходите в Маркет и начинаете устанавливать приложение. Вот только часто так бывает, что памяти на телефоне не хватает, а опробовать то хочется. Вдруг эта программа в разы лучше той, что установлена у меня?
В таких ситуациях вас и будет спасать технология Instant Apps. Благодаря ей можно загрузить демо-версию любого продукта, который представлен в Google Play и посмотреть, как он выглядит, какие опции в нем предусмотрены, вкладки, внешний вид, меню. Файл с демкой очень маленький по объему, поэтому такая технология существенно экономит ресурсы вашего смартфона. Да и не только ресурсы, но и время. Если у пользователя сравнительно низкий уровень сигнала, то и загрузка программы будет осуществляться очень долго. А здесь скачал демо-версию, быстро ознакомился с ней, и если понравилась, то скачал уже полную.
Только вот подобная технология используется не везде, к сожалению. Впервые Instant Apps был представлен еще в 2016 году на конференции Google, а в 2017 начали появляться первые приложения с поддержкой данной опции. Вообще она поддерживается с Android Jelly Bean (4.3), однако многие разработчики начали создавать свои продукты с поддержкой этой технологии только в 6.0 и выше.
Преимущества и недостатки технологии
Вам, как пользователю Android, необходимо знать обо всех минусах и плюсах технологии Instant Apps, чтобы понимать, насколько она полезна. Ведь не все опции, которые присутствуют в операционной системе Андроид, одинаково полезны.
Преимущества
Недостатки
Последний пункт в недостатках — это, скорее, придирка, но данная причина тоже имеет место быть.
Как использовать Instant Apps?
Как и говорилось ранее, она доступна на устройствах с Андроидом версии Jelly Bean (4.2) и выше, однако многие разработчики добавили эту возможность в приложениях, адаптированных под версии 6.0 и выше.
По умолчанию эта опция включена в смартфоне, но, если она вдруг не работает, выполните следующие действия:
Все, на этом опция активирована и можно переходить к загрузке демо-версии. Выполняем следующие действия:
Как удалить или отключить?
Одна из проблем Instant Apps — автоматическое обновление и самостоятельная активация. Некоторых владельцев смартфонов подобные действия сильно напрягают, так как без их разрешения Instant Apps расходует трафик, заряд батареи, причем в стандартных приложениях его найти нельзя. Что же делать в таком случае?
Но учтите, что в этом случае вы не сможете использовать демо-версии программ и игр в сервисе Google Play. Если же вы решили совсем удалить данную опцию, вам необходимы будут root-права. И уже только после этого вы сможете стирать любые службы и приложения, по умолчанию установленные от Google.
Приложения с поддержкой мгновенного запуска
Хотите опробовать приложения с опцией Instant Apps, но не знаете, где их скачать? В сервисе Google Play есть отдельный раздел, который называется «Мгновенный запуск». В нем выложены все программы, которые имеют данную опцию. Перейти в эту категорию можно по этой ссылке:
В целом можно сделать вывод, что Instant Apps — это довольно интересная и удобная опция, которая, скорее, сэкономит ваш трафик, чем израсходует. Да, иногда она будет обновляться, но в целом расходуется очень маленький объем трафика, который компенсируется просмотром демо-версий при очередном выборе новых программ или игр в Google Play.
Еще один весомый аргумент в пользу этой опции — это будущее. Все больше разработчиков адаптируют свои продукты под данную технологию, а вскоре и вовсе нас ожидает загрузка контента в доли секунды, которая будет разбиваться на отдельные контейнеры. Но это уже совсем другая история…
Android Instant Apps — приложения, которые не нужно устанавливать
Компания Google хочет вывести концепцию мобильных Android-приложений на совершенно новый уровень. Вчера, 18 мая, на конференции I/O 2016 «корпорация добра» показала Android Instant Apps — приложения, которыми можно пользоваться без установки. Достаточно просто тапнуть по ссылке в поиске Google, после чего вместо сайта откроется полноценное приложение.
Android Instant Apps — это концепция, которая предполагает, что приложения внедрены в веб и ими можно пользоваться без установки. На презентации это было показано следующим образом: собеседник в чате отправляет ссылку на Buzzfeed; по клику на нее открывается Android-приложение Buzzfeed, которое не установлено на смартфоне пользователя; открывается только та часть приложения, которая необходима для показа контента по ссылке. То же самое работает в поиске Google, когда пользователь может кликнуть на товар в поиске, после чего сразу откроется приложение соответствующего интернет-магазина.
Конечно, даже такие модульные веб-приложения предлагают более удобный интерфейс и опыт использования, чем сайты. В будущем Google планирует развить эту концепцию таким образом, чтобы почти везде загружались такие веб-приложения вместо сайтов. Примечательно, что Android Instant Apps работают даже на не самых новых версиях системы — от Android 4.2 Jelly Bean и новее.
Что такое Instant App или Google Play Instant
В этой статье рассмотрим, что такое Instant App, зачем он нужен и как создать такое приложение?
Еще в прошлом году на DroidCon я слышал об этой теме. В этом году о ней тоже говорили. Наконец то у меня дошли руки посмотреть подробнее. В этой статье я расскажу, что мне удалось понять. Кода здесь практически не будет, только поверхностный разбор. И в конце несколько полезных ссылок для дальнейшего изучения.
Пример
Если загуглить, например, «vimeo video», то гугл в результатах покажет несколько видео, нажав на которые можно перейти на Vimeo сайт. Т.е. браузер откроет ссылку вида https://vimeo.com/236370796. Но если делать это на Android смартфоне, на котором установлено Vimeo приложение, то оно и откроется вместо сайта. Система видит, что есть приложение, которое умеет открывать такую ссылку и запускает его.
Если же приложение Vimeo не установлено, то может открыться его Instant App версия.
Это приложение, которые мы даже явно не устанавливали. Система сама загрузила и установила его, и открыла в нем видео. (Не знаю почему рекордер не записал видео, которое проигрывается в верхней части экрана, но оно там есть). Обратите внимание также, что в этом приложении есть кнопка для перехода к установке полной версии с маркета.
А вот так выглядит полноценная версия приложения Vimeo, установленная с маркета.
Зачем нужен Instant App
Как создать Instant App приложение
Давайте разбираться, откуда взялась эта Instant App версия и как ее создать.
Создана она в том же самом проекте, что и основное приложение. Но чтобы была возможность создавать легковесную и ограниченную версию, необходимо разделить код основного приложения на модули.
О каких модулях речь? О тех самых, с которыми мы работаем в Android Studio. По умолчанию у нас создается только модуль app. Если мы работаем по Clean Architecture, то обычно создаем еще несколько модулей. А если мы собираемся создавать Instant App приложение, то мы выносим в модули отдельные фичи (features) приложения.
Для общеиспользуемых репозиториев и прочих классов, которые будут использоваться в модулях, предназначен отдельный модуль, который называется base.
В каждом feature-модуле прописана зависимость от base-модуля:
Впрочем, это не мешает модулю base быть feature-модулем. Он также может содержать в себе Activity.
В итоге ваш проект состоит из одного base-модуля и нескольких feature-модулей. Из этого всего мы можем собрать два типа приложения.
Чтобы обеспечить нам возможность собрать два разных приложения из одного кода, в Instant App проекте есть два модуля сборки: installed и instant.
В этих модулях есть gradle файлы, в которых мы прописываем feature-модули, который будут использованы при сборке приложения.
Соответственно, в gradle файле модуля installed мы обычно указываем все feature-модули, чтобы получить APK с полным функционалом. А в gradle файле instant мы указываем только те features-модули, которые хотим видеть в Instant App приложении.
Модуль installed соберет APK, который будет использовать модули как библиотеки. А модуль instant сделает отдельный APK из каждого модуля и запакует все эти APK в один ZIP.
Маркет
Какую из этих двух версий приложения надо заливать на маркет?
Как программно определить версию
Т.к. обе версии приложения используют один и тот же код, то в этом коде может возникнуть необходимость проверять, в какой именно версии мы сейчас находимся. Для этого можно использовать метод isInstantApp.
Activity = модуль
И что, теперь нужно каждое Activity выносить в отдельный модуль?
Не нужно. Выносите в отдельные feature-модули только те экраны, который вы хотите видеть в Instant App. А весь остальной код можете оставить в одном отдельном feature-модуле, который просто не будет включен в Instant App. Не забудьте только в base-модуль поместить классы, которые нужны будут для работы feature-модулей.
Я уже упоминал, что URL является входной точкой в Activity.
Каждый feature-модуль должен содержать в себе хотя бы одно Activity (можно и больше). И для этого Activity должен быть настроен IntentFilter на определенный URL.
Когда пользователь нажимает на ссылку, происходит следующее.
Система находит, что в маркете существует Instant App приложение, в котором есть feature-модуль, который умеет открывать такие ссылки.
Чуть выше я писал, что Instant App приложение представляет из себя ZIP, в котором собраны все feature-модули и base-модуль в виде отдельных APK. В случае с Vimeo, например, это могли бы быть, например, файлы videoplay.apk (создан из feature-модуля videoplay) и base.apk (создан из base-модуля). И в videoplay.apk есть Activity, для которого настроен IntentFilter на vimeo.com ссылки.
Система загружает videoplay.apk на устройство и запускает. Вместе с ним также она загружает base.apk. Т.е. когда идет первая загрузка какого-либо feature APK файла из Instant App, с ним вместе всегда грузится и base.apk. Потому что все feature зависимы от base. Отсюда, кстати, вытекает одно ограничение. Суммарный размер любого feature APK файла и base.apk не должен превышать 4 мегабайт. Т.е. в нашем случае суммарный размер файлов videoplay.apk и base.apk не должен превышать 4 MB. Это сделано, чтобы приложения Instant App были максимально легкими и быстро загружаемыми.
Тут важно понимать, что, даже если Instant App приложение содержит в себе еще какие-либо feature APK файлы, система загрузит только videoplay.apk (+ base.apk). Потому что в данный момент нужен только этот файл для обработки нажатой ссылки.
А что если экран из videoplay.apk предоставляет возможность перейти на какой-то другой экран, например, экран комментариев? В этом случае программно переход должен быть реализован не с помощью Intent, который вызывает Activity, а с помощью Intent, который вызывает ссылку. Например, это могла бы быть ссылка вида https://vimeo.com/236370796/comments.
Предположим, что в проекте есть feature-модуль videocomments, в котором находится Activity c IntentFilter, настроенным на такие ссылки. И этот feature-модуль был включен в список в модуле instant. В этом случае система найдет, что в Instant App приложении есть еще файл videocomments.apk, в котором есть Activity настроенное на этот тип ссылок. Система загрузит и запустит videocomments.apk. Файл base.apk в этом случае уже не будет загружаться, т.к. он был загружен ранее.
Try now
Если в маркете есть Instant App версия приложения, то пользователь видит кнопку Try now.
По нажатию этой кнопки происходит примерно то же самое, что и по нажатию на ссылку. Система загрузит один из feature APK вместе с base.apk и запустит его.
Какой именно модуль будет запущен, можно определить в манифесте. Будет найден тот APK, который содержит главное Activity. Т.е. Activity со стандартным фильтром:
Либо есть возможность в манифесте указать ссылку:
Она будет вызвана по нажатию на Try now и далее будет загружен и запущен соответствующий этой ссылке feature APK.
Полезные ссылки
Для дальнейшего изучения темы рекомендую посмотреть следующие материалы.
Два codelab от google. В них вы увидите, как обычный проект можно переделать в Instant App. После этого вы будете понимать техническую сторону темы.
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Android Instant Apps — что это и как этим пользоваться
Прежде всего, Android Instant Apps — это новая технология от Google, которая была анонсирована на I/O 2016. Она позволяет вам опробовать функционал приложения на вашем Android смартфоне, без надобности установки его из Google Play Store.
Уже сегодня некоторые пользователи смартфонов Huawei Nexus 6P на базе Android 7.1.1 Nougat имеют доступ к этой функции. В будущем Google расширит поддержку на еще больше моделей смартфонов. Благодаря Instant Apps, пользователь может запустить у себя приложение из облака и испытать его функционал, а разработчик может таким образом продемонстрировать возможности своего творения конечному пользователю. Это решает проблему платных демо-версий программ из Google Play. В этой статье все подробности о том, как работает Android Instant Apps.
Как активировать функцию
Стоит отметить, что не все смартфоны сейчас поддерживают этот функционал, а самих облачных демой-версий приложений пока очень мало. Чтобы включить Instant Apps, выполните следующие шаги:
Теперь после включения этой службы, вы можете приступать к поиску этих приложений. На сегодня их очень мало, но в ближайшем будущем их ряды будут пополняться. Среди программ с поддержкой Instant Apps сейчас можно найти Buzzfeed, Wish и Periscope. Пока только «Wish» работает корректно, его мы и испытаем. Остальные могут выдавать ошибку вида «error running app instant run requires».
Зайдите в мобильный браузер Google Chrome, и введите поисковый запрос Wish. Первый результат выдачи — это ссылка на приложение в Google Play, второй с пометкой «Instant» — это то, что нам нужно. Жмите на него, а затем Open App (Открыть приложение) в появившейся вкладке.
На загрузку приложения понадобится некоторое время, зато после этого, вы можете использовать его, как и любое другое обычное приложение на вашем смартфоне. В Instant-приложении Wish вы можете зайти в свой аккаунт, совершать поиск по продуктам и прочее.
Если программа вам понравилась и вы хотите загрузить ее полную версию, тогда просто опустите шторку уведомления и выберете пункт App Info», откуда и можно скачать полную версию программы. Нет сомнений, что за Instant Apps — будущее. Уже сегодня они позволяют выполнять многие вещи быстро и удобно.
По материалам сайта Android Authority
Как вам такая функция, возможно вы уже используете ее на своем смартфоне? Поделитесь своими впечатлениями в комментариях!
990x.top
Простой компьютерный блог для души)
Instant Apps что это за программа на Андроид?
Ребята, всем хеллоу. Говорим про Андроид, сегодня расскажу вам о чудо-функции под названием Instant Apps. В чем же чудо? Ну подумайте сами, функция Instant Apps позволяет запускать программу, которую вы даже не устанавливали. Как по мне, то звучит фантастически. Конечно это удобно, можно протестировать приложение, понять как оно работает и только потом уже принимать решение устанавливать его или нет. Да, тут не все так просто, вот читаю что такое приложение, ну не установленное, то оно может не поддерживать всех функций. То есть Instant Apps это такой режим запуска приложения без его установки. Что именно будет доступно в таком приложении, ну в плане опций, то это будут решать сами создатели приложения.
Функция доступна начиная с версии Андроида Jelly Bean. Я понял в чем прикол ребята. Эта штука Instant Apps начала сама проникать в телефон, вот пишут люди что даже глюки начинаются в телефоне.
Вроде я даже нашел как отключить Instant Apps. Для этого нужно зайти в настройки и нажать там Google:
Потом найти Instant Apps:
Далее передвинуть ползунок:
Вот еще картинка в тему, смотрите:
Вот еще чел пишет, что у него само установилось такое как Google Play services for Instant Apps. Пишет что как только он включает телефон, так оно сразу само скачивается и ставится.
Вот нашел еще один вариант как отключить Instant Apps (это я нашел на гугловском форуме):