Что нужно для изменения значков, ярлыков, цветов и других метаданных для вашего PWA
При установке PWA браузер использует информацию из манифеста веб-приложения для имени приложения, значков, которые должно использовать приложение, и URL-адреса, который должен открываться при запуске приложения. Но что, если вам нужно обновить ярлыки приложений или попробовать новый цвет темы? Когда и как эти изменения отражаются в браузере?
В большинстве случаев изменения должны быть отражены в течение дня или двух после запуска PWA, после обновления манифеста.
Обновления Chrome для ПК
При запуске PWA или открытии во вкладке браузера Chrome определяет, когда в последний раз локальный манифест проверялся на наличие изменений. Если манифест не проверялся с момента последнего запуска браузера или не проверялся в течение последних 24 часов, Chrome сделает сетевой запрос на манифест, а затем сравнит его с локальной копией.
Если в манифесте были изменены выбранные свойства (см. список ниже), Chrome ставит новый манифест в очередь и после закрытия всех окон устанавливает его. После установки все поля из нового манифеста, за исключением icons
, обновляются.
Какие свойства вызовут обновление?
-
name
-
short_name
-
display
(см. ниже) -
scope
-
shortcuts
-
start_url
-
theme_color
-
file_handlers
Что происходит при обновлении поля display
?
Если вы обновите режим отображения вашего приложения с browser
на standalone
ваши существующие пользователи не будут иметь свои приложения, открытые в окне после обновления. Существует два параметра отображения для веб-приложения, один из манифеста (который вы контролируете) и параметр окна/вкладки браузера, контролируемый пользователем. Предпочтения пользователя всегда учитываются.
Тестирование обновлений манифеста
Страница chrome://web-app-internals
(доступна в Chrome 85 или более поздней версии) содержит подробную информацию обо всех PWA, установленных на устройстве, и может помочь вам понять, когда манифест обновлялся в последний раз, как часто он обновляется и многое другое.
Чтобы вручную заставить Chrome проверить наличие обновленного манифеста, вы можете запустить Chrome с флагом командной строки --disable-manifest-update-throttle
или перезапустить Chrome (используйте about://restart
), это сбросит таймер, так что Chrome проверит наличие обновленного манифеста при следующем запуске PWA. Затем запустите PWA. После закрытия PWA он должен быть обновлен с новыми свойствами манифеста.
Ссылки
Обновления Chrome для Android
При запуске PWA Chrome определяет, когда в последний раз локальный манифест проверялся на наличие изменений. Если манифест не проверялся в течение последних 24 часов, Chrome запланирует сетевой запрос манифеста, а затем сравнит его с локальной копией.
Если некоторые свойства в манифесте изменились (см. список ниже), Chrome ставит новый манифест в очередь, и после того, как все окна PWA будут закрыты, устройство будет подключено и подключено к WiFi, Chrome запрашивает обновленный WebAPK с сервера. После обновления используются все поля из нового манифеста.
Какие свойства вызовут обновление?
-
name
-
short_name
-
icons
-
background_color
-
display
-
orientation
-
scope
-
shortcuts
-
start_url
-
theme_color
-
web_share_target
Если Chrome не может получить обновленный манифест с сервера, время между проверками может увеличиться до 30 дней.
Тестирование обновлений манифеста
Страница about://webapks
содержит подробную информацию обо всех PWA, установленных на устройстве, а также может сообщить вам, когда манифест обновлялся в последний раз, как часто он обновляется и многое другое.
Чтобы вручную запланировать обновление манифеста, переопределив таймер и локальный манифест, выполните следующие действия:
- Подключите устройство и убедитесь, что оно подключено к Wi-Fi.
- Используйте диспетчер задач Android для завершения работы PWA, затем используйте панель приложений в настройках Android для принудительной остановки PWA.
- В Chrome откройте
about://webapks
и нажмите кнопку «Обновить» для PWA. «Статус обновления» должен измениться на «Ожидание». - Запустите PWA и убедитесь, что он загружен правильно.
- Используйте диспетчер задач Android для завершения работы PWA, затем используйте панель приложений в настройках Android для принудительной остановки PWA.
PWA обычно обновляется в течение нескольких минут. После завершения обновления «Статус обновления» должен измениться на «Успешно».
Ссылки
- Перечисление
UpdateReason
для Chrome на Android