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

Что нужно для изменения значков, ярлыков, цветов и других метаданных вашего PWA

Когда PWA установлено, браузер использует информацию из манифеста веб-приложения для имени приложения, значков, которые приложение должно использовать, и URL-адреса, который должен открываться при запуске приложения. Но что, если вам нужно обновить ярлыки приложений или попробовать новый цвет темы? Когда и как эти изменения отражаются в браузере?

В большинстве случаев изменения должны быть отражены в течение дня или двух после запуска PWA, после обновления манифеста.

Обновления в настольном Chrome

Когда PWA запускается или открывается на вкладке браузера, Chrome определяет, когда в последний раз локальный манифест проверялся на наличие изменений. Если манифест не проверялся с момента последнего запуска браузера или не проверялся в течение последних 24 часов, Chrome выполнит сетевой запрос манифеста, а затем сравнит его с локальной копией.

Если свойства выбора в манифесте изменились (см. список ниже), Chrome ставит новый манифест в очередь и после закрытия всех окон устанавливает его. После установки все поля нового манифеста (кроме name , short_name и icons ) обновляются.

Какие свойства вызовут обновление?

  • 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 устройство подключается к сети Wi-Fi, Chrome запрашивает обновленный WebAPK с сервера. . После обновления используются все поля из нового манифеста.

Какие свойства вызовут обновление?

  • 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 обычно обновляется в течение нескольких минут. После завершения обновления «Статус обновления» должен измениться на «Успешно».

Рекомендации