Настройка Trusted Web Activities может быть сложной, особенно если вам нужно просто отобразить свой веб-сайт. В этом руководстве вы узнаете, как создать небольшой проект, использующий Trusted Web Activities.
К концу этого руководства вы:
- Использовал Bubblewrap для создания приложения, которое использует Trusted Web Activity и проходит проверку.
- Разберитесь, когда используются ваши ключи подписи.
- Умейте определять, с какой цифровой подписью создается ваше Android-приложение.
- Умейте создавать базовый файл ссылок на цифровые активы .
Для выполнения этих инструкций вам потребуется:
- Node.js 10 или выше.
- Подключенный и настроенный для разработки Android-телефон или эмулятор. Включите отладку по USB, если используете физический телефон.
- Мобильный браузер, поддерживающий функцию «Доверенная веб-активность».
- Веб-сайт, который вы хотели бы просмотреть в разделе «Доверенные веб-ресурсы».
С помощью функции «Доверенная веб-активность» в вашем Android-приложении можно запускать полноэкранную вкладку браузера без какого-либо пользовательского интерфейса. Эта возможность доступна только для веб-сайтов, которыми вы владеете. Подтверждением права собственности является создание ссылок на цифровые активы .
При запуске доверенной веб-активности браузер проверяет ссылки на цифровые активы. Если проверка не удается, браузер переключается на отображение вашего веб-сайта в виде пользовательской вкладки .
Установите и настройте Bubblewrap.
Bubblewrap — это набор библиотек и инструмент командной строки (CLI) для Node.js, который помогает разработчикам генерировать, собирать и запускать прогрессивные веб-приложения внутри приложений Android, используя Trusted Web Activity.
Установите интерфейс командной строки, выполнив следующую команду:
npm i -g @bubblewrap/cli
Настройка среды
При первом запуске Bubblewrap предлагается автоматически загрузить и установить необходимые внешние зависимости. Мы рекомендуем разрешить автоматическую загрузку, так как это помогает убедиться в правильной настройке зависимостей. Для использования уже установленного Java Development Kit (JDK) или инструментов командной строки Android обратитесь к документации Bubblewrap .
Инициализация и сборка проекта.
Инициализируйте проект Android, который является оберткой для PWA:
bubblewrap init --manifest=https://my-twa.com/manifest.json
Bubblewrap считывает Web Manifest , запрашивает у разработчиков подтверждение значений, которые будут использоваться в проекте Android, и генерирует проект, используя эти значения.
После создания проекта сгенерируйте APK-файл, выполнив следующую команду:
bubblewrap build
Бегать
В процессе сборки создается файл с именем app-release-signed.apk . Этот файл можно установить на устройство разработчика для тестирования или загрузить в Play Store для выпуска.
Bubblewrap предоставляет команду для установки и тестирования приложения на локальном устройстве. Подключив устройство разработки к компьютеру, выполните следующую команду:
bubblewrap install
В качестве альтернативы можно использовать инструмент adb .
adb install app-release-signed.apk
Теперь приложение должно быть доступно в меню запуска устройства.
При открытии приложения вы заметите, что ваш веб-сайт открывается как пользовательская вкладка, а не как доверенная веб-активность. Это связано с тем, что мы еще не настроили проверку ссылок на цифровые активы.
Альтернативы графическому пользовательскому интерфейсу (GUI) для Bubblewrap
PWA Builder предоставляет графический интерфейс пользователя, использующий библиотеку Bubblewrap для генерации проектов Trusted Web Activity. Инструкции по использованию PWA Builder для создания Android-приложения, открывающего ваше PWA , вы найдете здесь.
Ключи для подписи
Ссылки на цифровые активы учитывают ключ, которым был подписан APK-файл, и распространенной причиной сбоя проверки является использование неправильной подписи. (Помните, что сбой проверки означает, что ваш веб-сайт будет запущен в виде пользовательской вкладки с интерфейсом браузера в верхней части страницы.) Когда Bubblewrap собирает приложение, APK-файл создается с ключом, настроенным на этапе init . Однако при публикации вашего приложения в Google Play для вас может быть создан другой ключ, в зависимости от того, как вы решите обрабатывать ключи подписи. Узнайте больше о ключах подписи и о том, как они связаны с Bubblewrap и Google Play .
Настройка файла ссылок на ресурсы
Ссылки на цифровые активы по сути представляют собой файл на вашем веб-сайте, указывающий на ваше приложение, и некоторые метаданные в вашем приложении, указывающие на ваш веб-сайт.
После создания файла assetlinks.json загрузите его на свой веб-сайт по адресу .well-known/assetlinks.json (относительно корневого каталога), чтобы ваше приложение могло быть корректно проверено браузером. Подробнее о связи цифровых ссылок с ключом подписи можно узнать в подробном разделе, посвященном этой теме.
Проверьте свой браузер.
Функция «Доверенные веб-действия» будет пытаться использовать браузер, выбранный пользователем по умолчанию. Если браузер пользователя по умолчанию поддерживает функцию «Доверенные веб-действия», она будет запущена. В противном случае, если какой-либо из установленных браузеров поддерживает эту функцию, будет выбран именно он. Наконец, по умолчанию будет использоваться режим пользовательских вкладок.
Это означает, что при отладке чего-либо, связанного с доверенными веб-действиями, вам следует убедиться, что вы используете тот браузер, который, как вы думаете, используете. Вы можете использовать следующую команду, чтобы проверить, какой браузер используется:
> adb logcat -v brief | grep -e TWAProviderPicker
D/TWAProviderPicker(17168): Found TWA provider, finishing search: com.google.android.apps.chrome
Следующие шаги
Надеюсь, если вы следовали этому руководству, у вас теперь есть работающая функция Trusted Web Activity и достаточно знаний для отладки в случае сбоя проверки. Если нет, ознакомьтесь с другими концепциями Android для веб-разработчиков .
Следующим шагом будет создание значка для вашего приложения . После этого вы можете рассмотреть возможность размещения приложения в Play Store.