Как стать автором
Обновить

Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity

Время на прочтение5 мин
Количество просмотров55K
Всего голосов 40: ↑40 и ↓0+40
Комментарии16

Комментарии 16

Например, выпущенное таким образом приложение не откроется у пользователя, если Google Chrome версии 72+ не является браузером по умолчанию на его смартфоне. Так что готовьтесь пожертвовать частью пользователей ради скорости выпуска.

А можно немного подробней об этом? Пользователь скачает, установит, но тыканье на иконку ни к чему не приведёт или что-то произойдёт? Что именно?

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

К сожалению, даёт устанавливать даже если Chrome нет на смартфоне

Мне пользователи писали, что белый экран

По идее гугл может поставить какую-то информационную заглушку на этот случай, но тут сразу всплывает вопрос «монополии», так что корпорация добра, видимо, не торопится с фиксом проблемы в первую очередь именно по этой причине…
Если интересно, то веткой ниже как раз пофиксили баг с белым экраном.
Логика работы после исправления такая что сначала ищется браузер поддерживающий TWA, если нет таких, то выбирается браузер поддерживающий CustomTabs, применительно к фаерфоксу выглядит как обрезанный интерфейс браузера когда видна адресная строка. А если нету браузеров с поддержкой CustomTabs то должна открыться просто страница в браузере дефолтном.
А я всё думаю, от куда берутся заказчики, свято верящие что создать и опубликовать мобильное приложение можно за несколько дней, а то, и часов? (это был риторический вопрос)

Думаю тут можно легко парировать каким-то таким скриптом: "Да, можно конечно, но только если у Вас весь желаемый функционал уже есть полностью рабочий в виде функционирующего адаптивного вебсайта. Есть у Вас сайт с требуемым функционалом?".

А нет ли случаем возможности у данной реализации указать жестко какой браузер использовать? А то вот например стоит у меня Firefox и эти PWA приложения собранные по этой методике открываются в нем с куском интерфейса адресной строки браузера, что не оч круто. При том что может у юзера будет еще какой-то браузер дефолтным стоять, а приложение хотелось бы таки в хроме запустить.
Вроде как Twitter Lite тоже PWA приложение, но оно нормально запускается через хром без интерфейса.
Сам спросил и сам отвечу, нашел вот такой уже заведенный баг bugs.chromium.org/p/chromium/issues/detail?id=942930 там же снизу есть форк с фиксом его, если
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.github.GoogleChrome.custom-tabs-client:customtabs:e849e45c90'
}
заменить на
dependencies {
   implementation fileTree(dir: 'libs', include: ['*.jar'])
   implementation 'com.github.notnarb.custom-tabs-client:customtabs:00b7567312'
}
то приложение начнет нормально работать даже если дефолтный браузер не хром.
Ух ты, спасибо! А официальный фикс в итоге — это то, что вы написали выше?

Официальный будет выглядеть как-то так
implementation 'com.github.GoogleChrome.custom-tabs-client:customtabs:b42451a68'

А можно ли как-то заблокировать экран в portrait режиме в TWA?
Можно попробовать в Web App Manifest поставить свойство:

"orientation": "portrait"
Это не работает в customs-tabs в apk приложении сейчас, иначе бы не было вопрос
Зарегистрируйтесь на Хабре, чтобы оставить комментарий