Как Chrome обрабатывает обновления манифеста веб-приложения

Что нужно для изменения значков, ярлыков, цветов и других метаданных для вашего 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, установленных на устройстве, а также может сообщить вам, когда манифест обновлялся в последний раз, как часто он обновляется и многое другое.

Чтобы вручную запланировать обновление манифеста, переопределив таймер и локальный манифест, выполните следующие действия:

  1. Подключите устройство и убедитесь, что оно подключено к Wi-Fi.
  2. Используйте диспетчер задач Android для завершения работы PWA, затем используйте панель приложений в настройках Android для принудительной остановки PWA.
  3. В Chrome откройте about://webapks и нажмите кнопку «Обновить» для PWA. «Статус обновления» должен измениться на «Ожидание».
  4. Запустите PWA и убедитесь, что он загружен правильно.
  5. Используйте диспетчер задач Android для завершения работы PWA, затем используйте панель приложений в настройках Android для принудительной остановки PWA.

PWA обычно обновляется в течение нескольких минут. После завершения обновления «Статус обновления» должен измениться на «Успешно».

Ссылки