Запустите PWA в приложении для Android.
Прогрессивные веб-приложения (PWA) — это веб-приложения, использующие функции, аналогичные приложениям, для создания высококачественного, быстрого, надежного и привлекательного пользовательского опыта.
Интернет обладает невероятным охватом и предоставляет пользователям мощные возможности для открытия новых впечатлений. Но пользователи также привыкли искать приложения в магазине приложений своей операционной системы. Во многих случаях эти пользователи уже знакомы с брендом или услугой, которую они ищут, и обладают высокой степенью целенаправленности, что приводит к более высоким, чем в среднем, показателям вовлеченности.
Play Store — это магазин приложений для Android, и разработчики часто хотят открывать свои прогрессивные веб-приложения (PWW) из своих приложений для Android.
Trusted Web Activity — это открытый стандарт, позволяющий браузерам предоставлять полностью совместимый с веб-платформами контейнер для отображения PWA внутри приложения Android. Эта функция доступна в Chrome и находится в разработке в Firefox Nightly .
Существующие решения были ограничены.
Всегда существовала возможность интегрировать веб-функции в Android-приложения, используя такие технологии, как Android WebView или фреймворки, например, Cordova .
Ограничение Android WebView заключается в том, что он не предназначен для замены браузера. Android WebView — это инструмент разработчика для использования веб-интерфейса в приложении Android, и он не предоставляет полного доступа к современным функциям веб-платформы, таким как выбор контактов или файловая система , и другим .
Cordova была разработана для устранения недостатков WebView, но её API ограничены средой Cordova. Это означает, что вам потребуется поддерживать дополнительный код для использования API Cordova в вашем Android-приложении, отдельно от вашего PWA в открытом веб-пространстве.
Кроме того, функция обнаружения функций часто работает не так, как ожидается, а проблемы совместимости между версиями Android и производителями оборудования также могут стать проблемой. При использовании подобных решений разработчикам требуются дополнительные процессы обеспечения качества, и они несут дополнительные затраты на разработку для обнаружения и создания обходных решений.
Trusted Web Activity — это новый контейнер для веб-приложений на Android.
Теперь разработчики могут использовать Trusted Web Activity в качестве контейнера для включения PWA в качестве запускаемого действия для Android-приложения. Эта технология использует браузер для отображения PWA в полноэкранном режиме, обеспечивая совместимость Trusted Web Activity с функциями и API веб-платформы, аналогичную совместимости базового браузера. Также существуют утилиты с открытым исходным кодом, которые еще больше упрощают реализацию Android-приложения с использованием Trusted Web Activity.
Еще одно преимущество, недоступное в других решениях, заключается в том, что контейнер использует общее хранилище с браузером. Состояния авторизации и пользовательские предпочтения беспрепятственно передаются между различными интерфейсами.
Совместимость с браузерами
Эта функция доступна в Chrome начиная с версии 75, а Firefox добавил её в свою ночную сборку.
Критерии качества
Веб-разработчикам следует использовать Trusted Web Activity, если они хотят включить веб-контент в приложение для Android.
Веб-контент в разделе «Доверенная веб-активность» должен соответствовать критериям возможности установки PWA.
Кроме того, чтобы поведение приложений Android соответствовало ожиданиям пользователей, в Chrome 86 было внесено изменение , согласно которому неспособность обработать следующие сценарии считается сбоем:
- Невозможность проверки ссылок на цифровые активы при запуске приложения.
- Не удалось получить HTTP-ответ 200 при запросе к сетевому ресурсу в автономном режиме.
- Запрос навигации возвращает ошибку HTTP 404 или 5xx.
Когда в активности «Доверенный веб» возникает один из этих сценариев, это приводит к заметному для пользователя сбою приложения Android. Ознакомьтесь с рекомендациями по обработке таких сценариев в вашем сервис-воркере.
Приложение также должно соответствовать дополнительным критериям, специфичным для Android, таким как соответствие политике безопасности .

Инструменты
Веб-разработчикам, желающим воспользоваться преимуществами Trusted Web Activity, не нужно изучать новые технологии или API для преобразования своего PWA в Android-приложение. Bubblewrap и PWABuilder вместе предоставляют инструменты для разработчиков в виде библиотеки, интерфейса командной строки (CLI) и графического пользовательского интерфейса (GUI).
Пузырчатая пленка
Проект Bubblewrap генерирует Android-приложения в виде библиотеки NodeJS и интерфейса командной строки (CLI).
Создание нового проекта осуществляется путем запуска инструмента и передачи URL-адреса веб-манифеста:
npx @bubblewrap/cli init --manifest=https://pwa-directory.appspot.com/manifest.json
Этот инструмент также может выполнить сборку проекта, и выполнение приведенной ниже команды создаст Android-приложение, готовое к загрузке в Play Store:
npx @bubblewrap/cli build
После выполнения этой команды в корневом каталоге проекта появится файл с именем app-release-signed.apk . Именно этот файл будет загружен в Play Store .
PWABuilder
PWABuilder помогает разработчикам преобразовывать существующие веб-сайты в прогрессивные веб-приложения (PWA). Он также интегрируется с Bubblewrap, предоставляя графический интерфейс для создания приложений Android на основе этих PWA. Команда PWABuilder подготовила отличную статью в блоге о том, как создать приложение Android с помощью этого инструмента.
Проверка прав собственности на PWA в приложении для Android.
Разработчик, создающий отличное прогрессивное веб-приложение, не захочет, чтобы другой разработчик создал на его основе Android-приложение без его разрешения. Чтобы этого не произошло, Android-приложение должно быть сопряжено с прогрессивным веб-приложением с помощью инструмента под названием Digital Asset Links .
Bubblewrap и PWABuilder позаботятся о необходимой настройке Android-приложения, но останется последний шаг — добавление файла assetlinks.json в PWA.
Для генерации этого файла разработчикам необходима SHA-256-подпись ключа, используемого для подписи APK-файла, загружаемого пользователями.
Ключ можно сгенерировать несколькими способами, и самый простой способ узнать, какой ключ использовался для подписи APK-файла, предоставляемого конечным пользователям, — это загрузить его из самого Play Store.
Чтобы избежать демонстрации неработающего приложения пользователям, разверните приложение в закрытом тестовом канале , установите его на тестовое устройство, а затем используйте инструмент Peter's Asset Link Tool для генерации правильного файла assetlinks.json для приложения. Разместите сгенерированный файл assetlinks.json по адресу /.well-known/assetlinks.json в проверяемом домене.
Куда отправиться дальше?
Прогрессивное веб-приложение (Progressive Web App) — это высококачественный веб-интерфейс. Trusted Web Activity — это новый способ запуска таких высококачественных интерфейсов из Android-приложений, если они соответствуют минимальным критериям качества.
Если вы только начинаете работать с прогрессивными веб-приложениями (PWA), ознакомьтесь с нашими рекомендациями по созданию отличного PWA . Разработчикам, у которых уже есть PWA, рекомендуется использовать Lighthouse для проверки соответствия критериям качества.
Затем используйте Bubblewrap или PWABuilder для генерации Android-приложения, загрузите приложение в закрытый тестовый канал в Play Store и свяжите его с PWA с помощью инструмента Peter's Asset Link Tool .
Наконец, переведите ваше приложение из закрытого тестового канала в рабочую среду!