Мгновенные приложения что это за программа и нужна ли она для андроида
Обновлено: 21.11.2024
Скотт Оргера — бывший писатель Lifewire, освещающий технологии с 2007 года. Он имеет более 25 лет опыта работы программистом и руководителем отдела контроля качества, а также имеет несколько сертификатов Microsoft, включая MCSE, MCP+I и MOUS. Он также имеет сертификат A+.
Приложения Google Instant (также называемые приложениями Google Play или Android Instant) представляют собой удобную альтернативу загрузке и установке приложения, позволяющую использовать его части, даже если оно еще не установлено на вашем смартфоне или планшете.
Какова цель приложений с мгновенным запуском?
Разработчики включают Android Instant в свои приложения, чтобы пользователи могли просмотреть уменьшенную версию, прежде чем решить, хотят ли они загружать и устанавливать полное приложение. Это предложение может быть представлено в виде кнопки "Попробовать" на странице приложения в Google Play Маркете, баннера на веб-сайте, ссылки в электронном письме или альтернативного способа доставки, например сканируемого QR-кода.
Как работают приложения с мгновенным запуском?
Как только приложение с мгновенным запуском выбрано, Google Play автоматически отправляет на ваше устройство только файлы, необходимые для запуска соответствующих функций, и мгновенно запускает приложение. Никаких загрузок, никаких установщиков и, самое главное, никакого ожидания.
Как включить приложения с мгновенным запуском на устройстве Android
Чтобы воспользоваться преимуществами Google Play Instant, сначала убедитесь, что эта функция включена на вашем смартфоне или планшете.
Откройте Google Play Маркет с главного экрана вашего устройства.
В интерфейсе приложения Google Play нажмите на изображение своего профиля в правом верхнем углу.
Когда появится раскрывающееся меню, нажмите "Настройки".
Разверните раздел "Пользовательские элементы управления".
Нажмите Google Play Instant.
Нажмите на переключатель «Обновить веб-ссылки», чтобы он стал зеленым, что означает, что этот параметр теперь активен.
Нажатие на определенные ссылки с брендом Google Play по-прежнему будет запускать приложения с мгновенным запуском, когда это применимо, даже если параметр Обновить веб-ссылки отключен.
Как удалить данные из Google Instant Apps
Хотя приложения с мгновенным запуском не являются полноценными версиями и на самом деле не устанавливаются на ваш смартфон или планшет, во многих случаях они сохраняют данные по мере их использования. Эти данные можно удалить, выполнив следующие действия.
Откройте "Настройки", затем прокрутите вниз и нажмите "Приложения".
Появится список приложений, содержащий те, которые установлены на вашем устройстве, а также приложения с мгновенным запуском, которые использовались ранее. Нажмите на название нужного приложения с мгновенным запуском.
Отображается большое количество информации о приложении с мгновенным запуском, в том числе о том, сколько места и памяти оно использует, а также об использовании аккумулятора и мобильных данных. Чтобы удалить все данные, хранящиеся в настоящее время в этом приложении, нажмите "Очистить приложение" и следуйте инструкциям на экране.
Вы также можете просмотреть или изменить разрешения, предоставленные в настоящее время этому приложению с мгновенным запуском, в разделе настроек приложения, а также указать, какие веб-адреса поддерживаются приложением.
Если вы хотите установить полную версию приложения Google Instant, это также можно сделать с помощью этого информационного интерфейса приложения. Просто нажмите «Установить».
Вы можете использовать приложения из Play Маркета, не устанавливая их на свое устройство с помощью Google Play Instant.
Использовать приложения с мгновенным запуском
Как работают приложения с мгновенным запуском
Когда вы нажимаете на ссылку, Google Play проверяет, есть ли приложение, которое может открыть эту ссылку. Ссылка откроется в приложении с мгновенным запуском (если оно доступно), если приложение еще не установлено на вашем устройстве.
Приложение с мгновенным запуском загружает только те части приложения, которые необходимы для выполнения текущего действия. Части приложения и любые данные, которые они хранят, временно добавляются на устройство. Чтобы удалить эти данные, см. раздел «Очистить данные для определенного приложения с мгновенным запуском» ниже.
Примечание. Вы можете отключить Play Instant Apps в любое время. Следуйте инструкциям в разделе "Включение и отключение приложений с мгновенным запуском" выше.
Просмотр последних приложений с мгновенным запуском
- На своем устройстве откройте приложение "Настройки" .
- Перейдите в Google Instant Apps.
- Нажмите на любое приложение, чтобы просмотреть дополнительные сведения об его использовании. Приложения с мгновенным запуском, которые вы использовали, также появятся в списке последних приложений в обзорном меню вашего телефона.
Установить приложение
Вы можете использовать приложение с мгновенным запуском, не устанавливая его на свое устройство. Если вы хотите использовать приложение регулярно или использовать его в автономном режиме, вы можете установить его. Найдите его в Play Маркете или посмотрите в меню приложений с мгновенным запуском:
Установите его через Google Play Маркет
Установите его из меню приложений с мгновенным запуском
- На своем устройстве откройте приложение "Настройки" .
- Перейдите в Google Instant Apps.
- Нажмите на приложение, которое хотите установить.
- Нажмите "Установить".
- Следуйте инструкциям на экране, чтобы установить приложение на свое устройство.
Очистить данные для определенного приложения с мгновенным запуском
Вы можете очистить данные для приложения с мгновенным запуском, которое вы использовали:
- На своем устройстве откройте приложение "Настройки" .
- Перейдите в Google Instant Apps.
- Нажмите на приложение с мгновенным запуском, для которого вы хотите изменить настройки.
- Нажмите "Очистить данные приложения".
Совет. Вы также можете перейти на страницу своей учетной записи, чтобы управлять приложениями, подключенными к вашей учетной записи Google. Обратите внимание, что любая информация, которой вы поделились с разработчиком, регулируется политикой конфиденциальности разработчика, поэтому свяжитесь с разработчиком, если вы хотите управлять этой информацией.
Управление разрешениями для приложений с мгновенным запуском
Вы по-прежнему контролируете разрешения и доступ к своей информации для приложения с мгновенным запуском, как и для установленного приложения. Узнайте больше о том, как управлять своими разрешениями.
Справка по приложениям с мгновенным запуском
Если у вас возникли проблемы с Play Instant Apps, обратитесь за помощью и устраните проблему.
Приложения для Android с мгновенным запуском могут изменить способ взаимодействия с мобильным ПО. В этом посте рассказывается о том, что они могут делать, каковы их последствия и как их создать.
Действительно ли вам нужно скачивать приложение, чтобы им владеть? Я не философствую здесь (действительно ли мы чем-то владеем?), но если учесть, как быстро и легко можно загрузить и установить что-то вроде приложения-фонарика, возникает вопрос, в чем преимущество сохранения это на вашем устройстве на самом деле есть. Если вы не работаете над шахтой, маловероятно, что вам часто понадобятся эти специальные приложения; Итак, если вы можете быстро получить доступ к приложению, когда оно вам больше всего нужно, какая польза от того, что оно будет занимать место в остальное время? Приложения для Android с мгновенным запуском — это ответ Google на эту дилемму.se
Instant Apps – это функция, которая позволяет вам использовать приложение без полной загрузки его на телефон: просто найдите его в Play Маркете и нажмите "Открыть приложение". Более того, он позволяет вам перейти к определенному действию в приложении, которое вы не установили, просто нажав на URL-адрес. Он уже доступен для некоторых пользователей и находится в процессе развертывания для остальных. Недавно Google добавил кнопку «Попробовать сейчас» в Play Store для некоторых приложений с мгновенным запуском Android. Но что это на самом деле означает для вас? И как разработчикам адаптироваться к этой новой функции?
Использование приложений Android с мгновенным запуском
Чтобы получить доступ к приложениям Android с мгновенным запуском на своем устройстве, вам просто нужно включить соответствующий параметр в меню настроек, если у вас есть устройство Nexus или Pixel. Перейдите в раздел Личные > Google, а затем Сервисы. Теперь просто включите Приложения с мгновенным запуском, а затем нажмите «Да, я в деле», когда появится уведомление. Вы можете попробовать это с некоторыми из первых пользователей, таких как BuzzFeed или Wish. Если у вас нет одного из этих устройств, вы все равно сможете найти его в настройках, но приложения пока не будут доступны, чтобы вы могли попробовать. Не волнуйтесь, они идут!
Приложения для Android с мгновенным запуском также можно запускать с URL-адреса. Это также удобно, потому что существенно расширяет возможности просмотра веб-страниц, добавляя больше возможностей и собственных функций, не говоря уже о том, что мы можем делиться впечатлениями из приложений.
Что это может означать для пользователей
Итак, что это значит для пользователей? Вы должны быть взволнованы, обеспокоены или равнодушны?
В целом это очень интересная новость, и многие ожидают, что она изменит правила использования наших устройств. В Play Store есть много приложений, которые, как правило, предназначены только для одноразового использования или которые вы редко будете использовать снова. И многие из нас все еще имеют мизерные 16 ГБ встроенной памяти на наших устройствах (или даже меньше).
Большинство из нас предпочли бы использовать собственное приложение, а не веб-сайт, где это возможно, но мы не хотим хлопот с его установкой.
Хотя прямо сейчас установить приложение, а затем сразу же удалить его не составляет труда, Android Instant Apps обещает еще больше упростить этот процесс, чтобы вы могли сэкономить время и получить еще большую эффективность от своего устройства. Большинство из нас предпочли бы использовать собственное приложение, а не веб-сайт, где это возможно, но мы не хотим хлопот с его установкой.
Это то, что вы называете "иметь свой торт и есть его".
Что еще лучше, так это обещание мгновенного перехода на определенную полезную страницу в приложении без каких-либо хлопот, связанных с его установкой. Google привел пример на недавней конференции разработчиков: пользователь может коснуться паркомата своим телефоном, чтобы мгновенно открыть парковочное приложение (через NFC) на странице оплаты, готовое к оплате с помощью Android Pay.
Другой пример: вы можете поделиться кроссвордом с другом через WhatsApp. Получили особое удовольствие от этой головоломки? Затем вы можете отправить ссылку, и получатель сможет перейти прямо на эту страницу в приложении, без необходимости сначала устанавливать его или даже перемещаться по меню.
Просмотр веб-страниц станет гораздо более удобным, так как сайты будут переключаться между веб-страницами, приложениями и обратно. В будущем мы можем даже увидеть сайты, использующие ссылки для запуска мгновенных приложений от других разработчиков. Просматривая близлежащие рестораны на Картах, вы можете щелкнуть ссылку обзора в Yelp, а затем открыть приложение Uber, чтобы заказать такси!
Говоря о будущем, определенно легко смотреть на мгновенные приложения для Android как на большой шаг к неизбежной эволюции нашего онлайн-взаимодействия. Тарифы на передачу данных становятся все более щедрыми, соединения становятся все более быстрыми, а облачное хранилище — обычным явлением; это только вопрос времени, когда нам больше не нужно будет ничего скачивать. Приложения с мгновенным запуском по-прежнему загружают и устанавливают часть программного обеспечения, но в будущем даже обработка данных, скорее всего, будет передана на сторонний сервер, что значительно сократит потребность в дорогостоящем оборудовании.
Это небольшой шаг в этом направлении, но он положительный.
Безопасность и ограничения
Некоторые могут опасаться, что это может вызвать проблемы с безопасностью. Что, если бы веб-страница временно установила на ваш телефон приложение, которое могло бы выставлять вам счета, например, через Android Pay?
На странице часто задаваемых вопросов о приложениях с мгновенным запуском сообщается, что эти приложения могут использовать следующие разрешения:
- ПЛАТЕЖ
- ACCESS_COARSE_LOCATION
- ДОСТУП_FINE_LOCATION
- ACCESS_NETWORK_STATE
- КАМЕРА
- INSTANT_APP_FOREGROUND_SERVICE только в Android O.
- ИНТЕРНЕТ
- READ_PHONE_NUMBERS только для Android O.
- ЗАПИСЬ_АУДИО
- ВИБРАЦИЯ
Все, чего нет в этом списке, не поддерживается Instant Apps. Обратите внимание, что такие функции, как Bluetooth, установка будильника, использование отпечатка пальца и установка обоев, отсутствуют.
К другим ограничениям относятся отсутствие поддержки фоновых служб (приложений, которые могут работать без ведома пользователя), push-уведомлений, доступа к внешнему хранилищу или просмотра установленных приложений на устройстве. Приложения с мгновенным запуском также не смогут изменять настройки на устройстве пользователя, например фоновый рисунок.
Как и следовало ожидать, для мгновенных загрузок приложений также существует ограничение на размер файла: 4 МБ для каждой «функции» или каждой страницы (например, действия) приложения. Это, конечно, создает больше потенциальных ограничений. Это означает, например, что разработчики не могут наполнить приложение мультимедиа, хотя, конечно, ничто не мешает им транслировать мультимедиа из других источников.
Но это сильно обесценивает что-то вроде полностью 3D-игры. По крайней мере, на данный момент. У Google есть что сказать по этому поводу:
"Игры – это узкоспециализированная категория приложений, в которых часто используются уникальные инструменты, большие ресурсы и высокие требования к производительности. Тем не менее, мы заинтересованы в изучении вариантов использования игр. Ознакомьтесь с публикациями Android Instant Apps на StackOverflow”
В краткосрочной перспективе ничто не мешает вам создавать игры, но, как правило, это будут такие вещи, как головоломки или очень простые двухмерные платформеры. Однако аппаратное ускорение с OpenGL ES 2.0 поддерживается, так что потенциал на будущее есть.
Время покажет, будут ли сняты некоторые из этих ограничений или будут введены новые. Также будет интересно посмотреть, как разработчики и бренды примут эту функцию. Стоит иметь в виду тот факт, что iOS в настоящее время не имеет сопоставимого сервиса. Компании могут с осторожностью относиться к внедрению новых возможностей, которые сможет оценить только определенная часть их аудитории, но опять же, покажет только время.
Что это значит для компаний и разработчиков
Однако компании должны быть в восторге от перспектив приложений с мгновенным запуском для Android, так как это создает много новых возможностей для повышения вовлеченности и, возможно, в результате продаж.Как мы уже упоминали, приложения с мгновенным запуском для Android предоставят веб-сайтам возможность ссылаться на более динамичный контент для мобильных пользователей, что, в свою очередь, позволит использовать информацию о местоположении, встроенные покупки и многое другое. Таким образом, реальная привлекательность для бизнеса — это возможность позволить пользователю беспрепятственно заказать пиццу или купить продукт через свое приложение или проложить маршрут до магазина. А возможность делиться ссылками на страницы в приложениях значительно повысит возможность обнаружения этих приложений и потенциально приведет к увеличению трафика. Пользователи, которым не нравится ваше приложение, также с меньшей вероятностью оставят отрицательный отзыв.
Приложения с мгновенным запуском станут обязательными для компаний, которые хотят максимально использовать маркетинговый потенциал своих мобильных приложений. Однако для разработчиков, которые зарабатывают на жизнь установками приложений или рекламой, преимущества могут быть менее очевидными. Если вы зарабатываете деньги на рекламе, вы можете получить выгоду от того, что больше пользователей будут часто посещать ваши индивидуальные действия (и Firebase поддерживается). С другой стороны, отсутствие необходимости устанавливать приложение может снизить частоту возвращения некоторых пользователей в ваше приложение после первого знакомства с ним.
Приложения с мгновенным запуском станут обязательными для компаний, которые хотят максимально использовать маркетинговый потенциал своих мобильных приложений.
Приложения с мгновенным запуском будут поддерживаться версиями Android, начиная с Jelly Bean, а это означает, что они будут доступны миллионам пользователей, но поскольку они не будут доступны на iOS, некоторые веб-страницы могут не захотеть сделать их важной частью своей стратегии.
Как разработчики могут реализовать приложения с мгновенным запуском для Android
Подробное руководство выходит за рамки этой публикации, но мы можем быстро рассказать о том, что необходимо для создания приложения с мгновенным запуском.
Хорошей новостью является то, что Android Studio 3.0 поставляется с мгновенной поддержкой приложений. Вы загрузите Android Instant Apps SDK из диспетчера SDK, а затем воспользуетесь App Links Assistant, чтобы легко добавить свои ссылки. Эмуляторы теперь будут поддерживать тестирование и в локальной среде (ранее глубокие ссылки тестировались с использованием ADB).
Самое большое отличие заключается в использовании нового типа конструкции: функциональных модулей. Они работают как библиотеки со своим собственным кодом, ресурсами и манифестами, и доступ к ним будет таким же образом из вашего устанавливаемого приложения, но они будут создаваться как отдельные .apk для ваших мгновенных приложений. Мгновенный модуль приложения будет действовать как контейнер (ZIP) для ваших функциональных модулей.
Поэтому, чтобы преобразовать обычное приложение в приложение с мгновенным запуском, вы сначала будете использовать Ассистент ссылок на приложения, чтобы изменить свой манифест и определить точки входа и URL-адреса для доступа к ним. Это работает аналогично тому, как вы в настоящее время вставляете прямую ссылку для прямой ссылки на действия в предустановленном приложении на вашем устройстве.
Затем вы преобразуете модуль приложения и поместите его в базовый функциональный модуль. Вы переименуете приложение в функцию и измените файл Gradle, чтобы вместо com.android.application у вас был com.android.feature. Вы также добавите строку в Gradle, чтобы определить базовую функцию. Затем вы добавите модуль приложения для вашего текущего приложения, «базовый» функциональный модуль для основного приложения и функциональный модуль для каждого мгновенного приложения. Все модули вашего приложения будут построены на основе базового функционального модуля, поэтому в файлы Gradle будут добавлены зависимости. Есть несколько дополнительных шагов, и вы найдете более подробное объяснение ниже.
Google заверяет нас, что весь этот процесс можно выполнить менее чем за день для базового приложения, но это будет во многом зависеть от вашей текущей структуры приложения, а также масштаба проекта, который вы задумали. Если вы хотите создать приложение для магазина и сделать так, чтобы каждый продукт отображал собственную функцию, вам потребуется множество дополнительных шагов по сравнению с созданием обычного приложения, но для более крупных проектов это может занять значительно больше времени. Это, безусловно, вводит ряд дополнительных шагов, если вы хотите, например, чтобы каждая страница в магазине работала как отдельное мгновенное приложение.
Рекомендации
Приложения для Android с мгновенным запуском ставят перед дизайнерами и разработчиками множество новых задач и потребуют нового языка дизайна и образа мышления.
Google поделился некоторыми рекомендациями. Например, разработчики не должны настойчиво призывать пользователей загружать полное приложение. Разработчики могут использовать кнопку установки, чтобы запросить это, но должны делать это незаметно. Подсказки должны быть ограничены не более чем двумя или тремя экземплярами.Точно так же им нужно избегать разветвления своего пользовательского интерфейса, и им определенно рекомендуется не добавлять заставки на отдельные страницы. Smart Lock следует использовать для идентификации, чтобы пользователям не приходилось постоянно входить и выходить из приложений и сайтов.
Определенно стоит прочитать полное руководство, но лучший способ подытожить это сделать переход между веб-страницей и приложением как можно более плавным, также помнить, что пользователи будут загружать эти страницы из обычного приложения.
Заключение
Что вы думаете о приложениях для Android с мгновенным запуском? Вы видите себя, использующим их? Разработчики: будете ли вы преобразовывать свои текущие приложения или будете использовать эту функцию в будущих проектах?
Лично я вижу много привлекательности и надеюсь, что это шаг к «будущему без скачивания». На данный момент мы надеемся, что возможность связывать друзей напрямую со страницами в приложениях повысит вовлеченность и представит ряд новых вариантов использования.
Успех, скорее всего, будет зависеть от готовности разработчиков потратить это дополнительное время, что, в свою очередь, будет зависеть от того, насколько пользователи готовы изменить свое отношение к своему программному обеспечению.
Недавно компания Google выпустила Instant Apps для разработчиков в рамках усилий, направленных на запуск следующего крупного усовершенствования нативных приложений для Android. Мгновенные приложения призваны помочь пользователям как можно быстрее получить наилучшие возможности приложения, загружая только части приложения, когда они им нужны. Это позволяет быстро и легко привлечь пользователей к работе с мобильным приложением, даже если оно не установлено на их устройствах.
Приложения с мгновенным запуском предоставляются пользователю в виде небольших функциональных модулей, каждый из которых содержит только код и ресурсы, необходимые для выполнения определенного действия. Приложения с мгновенным запуском запускаются с помощью намерений URL, что означает, что их можно запускать из любого места, включая результаты поиска, публикации в социальных сетях, сообщения, маяки, NFC и другие приложения или даже другие приложения с мгновенным запуском.
Приложения с мгновенным запуском используют единую кодовую базу с установленными аналогами APK, а также распространяются через магазин Google Play через раздел приложений с мгновенным запуском для Android.
Разработка мгновенного приложения
Инструменты
Чтобы начать работу с Instant Apps, вам потребуется несколько новых инструментов.
- Android Studio 3.0 и Instant Apps SDK. Наряду с Instant Apps SDK компания Google также объявила о выпуске предварительной версии Android Studio 3.0, которая включает в себя множество полезных новых функций, включая поддержку Instant Apps. Вам нужно будет скачать и установить его, чтобы начать. Полный набор инструкций доступен здесь
- Gradle 4.0 (Nightly). Наряду с другими улучшениями, Gradle 4.0 поставляется с новыми конфигурациями зависимостей, которые вы можете использовать. Стоит отметить, что конфигурация компиляции устарела в Gradle 3.4 в пользу API и реализации. Эти новые конфигурации помогают вам контролировать, какие зависимости вы предоставляете как часть общедоступного API; Реализация должна использоваться для объявления зависимостей, которые доступны только внутри модуля, в то время как зависимости, объявленные с помощью API, будут экспортированы и доступны нижестоящим.
- Подключаемый модуль Android для Gradle 3.0.0-alpha1. Он поставляется с несколькими новыми подключаемыми модулями Gradle, помогающими разделить ваше приложение на модули; com.android.instantapp и com.android.feature.
- API приложений с мгновенным запуском – Google также создал удобную коллекцию утилит, которые вы можете включить в свой проект следующим образом:
Он содержит несколько полезных статических методов, которые помогают проверить, взаимодействует ли пользователь с мгновенной или установленной версией вашего приложения, а также предложить им установить полный APK в системном диалоговом окне.
Определите вариант использования
Первый и, возможно, самый важный шаг — определить, какие части вашего приложения будут лучше всего работать в качестве функций в приложении с мгновенным запуском. Мгновенные приложения управляются действиями и становятся доступными для пользователей именно тогда, когда они необходимы. Например, у пользователя на новом гараже может не быть установленного заранее подходящего приложения для парковки, но с мгновенными приложениями все, что нужно сделать пользователю, — это перейти по URL-адресу, и родное приложение может воспользоваться всеми богатыми платежными API. уже доступны, быстро и легко.
Приложения с мгновенным запуском должны в первую очередь помогать пользователям выполнять любую поставленную перед ними задачу с минимальными трудностями, а не стимулировать полные установки приложения.
Точно так же приложения с мгновенным запуском не должны выступать в качестве пробных или облегченных версий полного приложения. Это может потребовать пересмотра того, как ваши пользователи в настоящее время взаимодействуют с вашими приложениями. Как они приходят в приложение? А также каким контентом они часто делятся?
Подумайте, каким будет новый поток. В вашем приложении может быть несколько точек входа, и ни одна из них не может быть связана с панелью запуска. Кроме того, вы должны учитывать возможность того, что приложение может быть удалено из системы сразу после того, как пользователь перестанет с ним взаимодействовать.
Уменьшите размер вашего приложения
С Instant Apps иметь компактное приложение как никогда важно.
Что на самом деле не оставляет много места для больших зависимостей. Это означает, что стоит пересмотреть то, что важно для вас и ваших пользователей. Например, вы можете сэкономить на раздувании функций, если: пересмотрите свои факторы успеха, а также то, как вы их отслеживаете; удаление неиспользуемого кода; оптимизация ресурсов; а правильная защита ваших модулей действительно может помочь уменьшить ваше приложение.
Поддержка ссылок на контент и ссылок на приложения
Если вы создавали сложные приложения, поддерживающие несколько пользовательских потоков, скорее всего, вы внедрили прямые ссылки. Глубокие ссылки позволяют любому создать URL-адрес, который ведет непосредственно на определенный экран или поток в вашем приложении. Поскольку приложения с мгновенным запуском работают по URL-адресам, теперь обязательными являются ссылки на контент и ссылки на приложения. Одно из основных отличий от обычных ссылок на контент заключается в том, что не поддерживаются пользовательские схемы URI, такие как
Вы можете продолжать использовать свою собственную схему в установленном приложении, если хотите, однако есть веские основания для переключения всех глубоких ссылок на URL-адреса.
Каждая функция в вашем приложении с мгновенным запуском должна иметь хотя бы одну точку входа, определяемую как ссылка на контент. Это определяет, что увидят пользователи Activity, когда они щелкнут URL-адрес приложения с мгновенным запуском или если они перейдут к функции из другой функции в вашем приложении с мгновенным запуском. Вот пример фильтра намерений, который связывает шаблон ссылок на контент с действием.
В этом случае ItemDetailActivity будет запускаться при посещении пользователем
Ссылки на приложения
Во-вторых, вам также потребуется связать свой веб-домен с именем пакета приложения с мгновенным запуском. Эта привязка, известная как ссылки на приложения для Android, доказывает Google, что вы владеете и контролируете веб-домен, который хотите связать со своим приложением. Ранее ссылки на приложения позволяли установленным приложениям автоматически ассоциировать себя с вашим веб-доменом, поэтому, когда пользователи нажимают на URL-адреса вашего веб-сайта, они пропускают диалог устранения неоднозначности и переходят непосредственно в ваше приложение. Теперь, настроив ссылки на приложения для вашего приложения с мгновенным запуском, пользователи без установленного приложения будут беспрепятственно перенаправляться в ваше приложение с мгновенным запуском. Ссылки на приложения являются необязательными для установленных приложений, поскольку пользователи могут вручную выбирать, какие приложения они хотят обрабатывать вашими глубокими ссылками, однако ссылки на приложения являются обязательным требованием для работы мгновенных приложений. Чтобы настроить его, вам просто нужно разместить один файл JSON в корне вашего домена или поддомена по адресу /.well-known/assetlinks.json
Несмотря на то, что ваши модули приложений с мгновенным запуском должны иметь отдельные имена пакетов для целей пространства имен, ваше приложение с мгновенным запуском и устанавливаемое приложение могут иметь общий идентификатор приложения, поэтому вам нужно только зарегистрировать этот идентификатор приложения в поле "package_name". Дополнительную информацию о настройке ссылок на приложения можно найти здесь.
Модулизируйте и рефакторинг вашего приложения
Это, пожалуй, самый сложный шаг в создании приложения с мгновенным запуском, особенно для существующих приложений. Это связано с тем, что подавляющее большинство приложений сегодня представляют собой в основном сборки с одним модулем, а поддержка Instant Apps требует от разработчиков разделения своих сборок на несколько модулей, называемых функциями. Каждая функция представляет собой часть приложения, которую можно загрузить по запросу.
- Функциональные модули — это модули, которые применяют новый подключаемый модуль Gradle com.android.feature. Это просто библиотечные проекты, создающие aar при использовании другими модулями. Стоит отметить, что у них нет идентификаторов приложений, потому что это просто библиотечные проекты.
Также стоит отметить манифест функционального модуля, поскольку функционально он является лишь частью полного приложения, и его манифест будет объединен с другими при сборке проекта. Таким образом, манифесты функциональных модулей должны содержать такие вещи, как действия, содержащиеся в модуле. Каждый манифест функции также должен содержать уникальное имя пакета для модуля.
Например, вот манифест из примера функционального модуля.
- Базовый функциональный модуль. Базовый функциональный модуль можно рассматривать как основу вашего проекта. Он содержит общий код и ресурсы, которые будут использоваться другими модулями. Базовая функция отличается от других тем, что для свойства baseFeature задано значение true.
Каждый проект, в котором используются функциональные модули, должен иметь ровно один базовый модуль, и каждый функциональный модуль должен зависеть от базового модуля.
Вот пример сценария сборки базового функционального модуля.
Манифест базовой функции обычно содержит глобальные элементы, такие как тег вашего приложения. Вот пример манифеста базовой функции.
Хотя это и не является обязательным, рекомендуется, чтобы ваш базовый манифест функции содержал тег действия, который ссылается на действие, реализующее метаданные URL-адреса по умолчанию. Это сообщает Android, какое действие следует запускать в случае, если ваше приложение с мгновенным запуском открывается не по ссылке на контент, а где-то вроде средства запуска.
- APK-модуль. Это обычный модуль сборки, с которым мы все знакомы. Теперь он настроен на использование базовых и функциональных модулей для вывода apk, который будет установлен на пользовательских устройствах. Поскольку он предназначен для вывода устанавливаемого артефакта, у этого модуля есть идентификатор приложения.
Здесь манифест приложения является результатом слияния всех остальных манифестов, унаследованных от других функциональных модулей. В результате его манифест довольно разреженный.
- Модуль приложения с мгновенным запуском — реализует подключаемый модуль com.android.instant. Используйте функциональные модули и создайте разделенный zip-архив APK, содержащий все функции, которые войдут в приложение с мгновенным запуском. Это в значительной степени пустая оболочка проекта без манифеста, который реализует только другие функциональные модули проекта.
Вот пример сценария сборки модуля приложения с мгновенным запуском.
Проблемы, с которыми вы можете столкнуться
Теперь, когда мы рассмотрели структуру приложений с мгновенным запуском, важно рассмотреть некоторые проблемы, с которыми мы столкнулись при создании приложения с мгновенным запуском. Некоторые плагины Gradle, на которые вы полагаетесь, могут не работать. Многие плагины Gradle для проектов Android проверяют наличие модулей с помощью плагинов com.android.application или com.android.library. Хотя новый подключаемый модуль com.android.feature работает аналогично проекту библиотеки, у него нет имени образца пакета, поэтому ваши любимые подключаемые модули Gradle могут нуждаться в обновлении.
Вы можете получить имя пакета вашего приложения из контекста и заставить VIEW Intent рассматривать только действия под вашим именем пакета.
Развертывание
Тестирование при разработке
Чтобы протестировать приложение с мгновенным запуском локально во время разработки, вы можете просто использовать Android Studio для запуска своего приложения с мгновенным запуском. Но вот как это работает за кулисами.
Предположим, что ваш модуль приложения с мгновенным запуском называется InstantApp. Сначала запустите задачу gradle gradle :instantapp:assembleDebug Это создаст артефакт zip-архива в папке ваших сборок. Затем разархивируйте этот архив, и вы найдете несколько APK, по одному для каждого функционального модуля. Наконец, запустите эту команду adb, чтобы одновременно установить все эти APK. adb install-multiple -r -t --ephemeral base.apk feature1.apk feature2.apk, где base.apk, feature1.apk и feature2.apk — это APK ваших функций. Предупреждение: мы заметили, что эта команда adb может периодически завершаться ошибкой.
Развертывание в рабочей среде
Чтобы развернуть приложение с мгновенным запуском в Google Play Store, вам просто нужно запустить ту же задачу gradle, что и выше, но с использованием варианта выпуска: gradle :instantapp:assembleRelease. Затем загрузите zip-архив в консоль Play Store. Вам не нужно распаковывать архив. Но прежде чем Google примет ваше приложение с мгновенным запуском, вам необходимо убедиться, что некоторые параметры настроены правильно.
Подписание кода
Приложения с мгновенным запуском — это, по сути, набор APK-файлов, по одному для каждого функционального модуля. Поэтому вам нужно будет подписать каждый из этих APK так же, как вы подписываете устанавливаемый APK. Это означает, что вам нужно будет добавить конфигурацию подписи в файл build.gradle каждого функционального модуля (включая базовый функциональный модуль).
Фильтры намерений
Чтобы развернуть приложение с мгновенным запуском, вам также необходимо убедиться, что фильтры намерений в ваших манифестах имеют определенный формат. Пример рабочей настройки см. в объявлении для ItemDetailActivity выше. Вот ключевые моменты:
Убедитесь, что вы указали android:autoVerify="true". Этот атрибут указывает Android автоматически проверять ваши ссылки на приложения. Поскольку приложения с мгновенным запуском работают на основе ссылок на приложения, этот атрибут является обязательным. Убедитесь, что вы используете несколько тегов только с одним атрибутом каждый. Поэтому вместо
Пример приложения: Шмель
Мы создали образец приложения под названием Bumblebee, чтобы понять, что возможно с Instant Apps. Bumblebee — это вымышленный магазин с простым каталогом и общими тележками для покупок. Он использует Firebase для данных каталога, пользовательских данных и размещения ресурсов. Мы также разработали приложение с использованием новых компонентов архитектуры Google, которые оказались чрезвычайно полезными и простыми в использовании. Более подробную информацию об этих новых архитектурных библиотеках можно найти здесь. Мы рекомендуем ознакомиться с замечательными сообщениями Эрика Ричардсона в блоге.
Bumblebee – это приложение с мгновенным запуском, состоящее из трех функциональных модулей, каждый из которых содержит собственный экран. Корневая точка входа — это функция «Обзор», которая демонстрирует сетку продуктов, доступных для покупки (на самом деле это просто фотографии предметов, которые мы нашли в офисе). Нажав на один из них, вы перейдете к функции «Детали товара», в которой указана цена и полное описание. Отсюда вы можете добавить товар в корзину.Если у вас есть корзина, вы можете просмотреть ее с помощью функции «Корзина покупок» и легко поделиться ссылкой на мгновенное приложение в свою корзину. Помните, что ссылки на мгновенные приложения — это просто URL-адреса. Любой, с кем вы поделитесь ссылкой, может сразу же получить доступ к вашей корзине напрямую как к приложению с мгновенным запуском без необходимости загружать функции каталога.
Вот несколько ссылок, которые вы можете открыть на своем телефоне Android, чтобы попробовать Bumblebee:
Читайте также: