Como o Chrome lida com as atualizações no manifesto do app da Web

O que é necessário para alterar ícones, atalhos, cores e outros metadados do PWA

Quando um PWA é instalado, o navegador usa informações do manifesto do app da Web para o nome do app, os ícones que ele precisa usar e o URL que precisa ser aberto quando o app for iniciado. Mas e se você precisar atualizar atalhos de apps ou testar uma nova cor de tema? Quando e como essas mudanças são refletidas no navegador?

Na maioria dos casos, as mudanças são refletidas em um ou dois dias após a inicialização do PWA, depois que o manifesto é atualizado.

Atualizações no Chrome para computador

Quando o PWA é iniciado ou aberto em uma guia do navegador, o Chrome determina a última vez que o manifesto local foi verificado em busca de mudanças. Se o manifesto não tiver sido verificado desde a última inicialização do navegador ou não tiver sido verificado nas últimas 24 horas, o Chrome fará uma solicitação de rede para o manifesto e o comparará com a cópia local.

Se algumas propriedades do manifesto tiverem sido alteradas (consulte a lista abaixo), o Chrome enfileirará o novo manifesto e, depois que todas as janelas forem fechadas, o instalará. Depois de instalado, todos os campos do novo manifesto (exceto name, short_name e icons) serão atualizados.

Quais propriedades acionarão uma atualização?

  • display (confira abaixo)
  • scope
  • shortcuts
  • start_url
  • theme_color
  • file_handlers

O que acontece quando o campo display é atualizado?

Se você atualizar o modo de exibição do app de browser para standalone, os apps dos usuários não serão abertos em uma janela após a atualização. Há duas configurações de exibição para um app da Web: a do manifesto (que você controla) e uma configuração de janela/guia do navegador controlada pelo usuário. A preferência do usuário é sempre respeitada.

Como testar atualizações de manifesto

A página chrome://web-app-internals (disponível no Chrome 85 ou versões mais recentes) inclui informações detalhadas sobre todos os PWAs instalados no dispositivo e pode ajudar você a entender quando o manifesto foi atualizado pela última vez, com que frequência ele é atualizado e muito mais.

Para forçar manualmente o Chrome a verificar um manifesto atualizado, inicie o Chrome com a sinalização de linha de comando --disable-manifest-update-throttle ou reinicie o Chrome (usando about://restart). Isso redefine o timer para que o Chrome verifique se há um manifesto atualizado na próxima vez que o PWA for iniciado. Em seguida, inicie o PWA. Depois de fechar o PWA, ele será atualizado com as novas propriedades do manifesto.

Referências

Atualizações no Google Chrome para Android

Quando o PWA é iniciado, o Chrome determina a última vez que o manifesto local foi verificado quanto a mudanças. Se o manifesto não tiver sido verificado nas últimas 24 horas, o Chrome programará uma solicitação de rede para o manifesto e o comparará com a cópia local.

Se algumas propriedades do manifesto tiverem mudado (consulte a lista abaixo), o Chrome enfileira o novo manifesto e, depois que todas as janelas do PWA forem fechadas, o dispositivo estiver conectado e conectado ao Wi-Fi, o Chrome vai solicitar um WebAPK atualizado do servidor. Após a atualização, todos os campos do novo manifesto serão usados.

Quais propriedades acionarão uma atualização?

  • background_color
  • display
  • orientation
  • scope
  • shortcuts
  • start_url
  • theme_color
  • web_share_target

Se o Chrome não conseguir receber um manifesto atualizado do servidor, ele poderá aumentar o tempo entre as verificações para 30 dias.

Como testar atualizações de manifesto

A página about://webapks inclui informações detalhadas sobre todos os PWAs instalados no dispositivo e pode informar quando o manifesto foi atualizado pela última vez, com que frequência ele é atualizado e muito mais.

Para programar manualmente uma atualização do manifesto, modifique o timer e o manifesto local da seguinte forma:

  1. Conecte o dispositivo e confira se ele está conectado ao Wi-Fi.
  2. Use o gerenciador de tarefas do Android para encerrar o PWA e, em seguida, use o painel do app nas configurações do Android para forçar a interrupção do PWA.
  3. No Chrome, abra about://webapks e clique no botão "Atualizar" do PWA. O "Status da atualização" vai mudar para "Pendente".
  4. Inicie o PWA e verifique se ele foi carregado corretamente.
  5. Use o gerenciador de tarefas do Android para encerrar o PWA e, em seguida, use o painel do app nas configurações do Android para forçar a interrupção do PWA.

O PWA geralmente é atualizado em alguns minutos. Quando a atualização for concluída, o "Status da atualização" mudará para "Concluído".

Referências