Что нужно для изменения значков, ярлыков, цветов и других метаданных вашего 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, установленных на устройстве, и может сообщить вам, когда последний раз обновлялся манифест, как часто он обновляется и многое другое.
Чтобы вручную запланировать обновление манифеста, переопределив таймер и локальный манифест, выполните следующие действия:
- Подключите устройство и убедитесь, что оно подключено к Wi-Fi.
- Используйте диспетчер задач Android, чтобы выключить PWA, затем используйте панель приложений в настройках Android, чтобы принудительно остановить PWA.
- В Chrome откройте
about://webapks
и нажмите кнопку «Обновить» для PWA. «Статус обновления» должен измениться на «Ожидание». - Запустите PWA и убедитесь, что он загружен правильно.
- Используйте диспетчер задач Android, чтобы выключить PWA, затем используйте панель приложений в настройках Android, чтобы принудительно остановить PWA.
PWA обычно обновляется в течение нескольких минут. После завершения обновления «Статус обновления» должен измениться на «Успешно».
Рекомендации
- Перечисление
UpdateReason
для Chrome на Android