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

O que é preciso 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 o app precisa usar e o URL que precisa ser aberto quando o app é 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 alterações devem ser refletidas em um ou dois dias após o lançamento do PWA, após a atualização do manifesto.

Atualizações no Chrome para computador

Quando o PWA é iniciado ou aberto em uma guia do navegador, o Chrome determina a última vez em que o manifesto local foi verificado quanto a alterações. Se o manifesto não tiver sido verificado desde que o navegador foi iniciado pela última vez ou se 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 (veja a lista abaixo), o Chrome colocará o novo manifesto na fila e, depois que todas as janelas forem fechadas, o instala. 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 (mais informações 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 usuários existentes não terão os apps abertos em uma janela após a atualização. Existem duas configurações de exibição para um app da Web: uma do manifesto (que você controla) e uma configuração de janela/navegador controlada pelo usuário. A preferência do usuário é sempre respeitada.

Como testar atualizações do manifesto

A página chrome://web-app-internals (disponível no Chrome 85 ou mais recente), 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 se há um manifesto atualizado, você pode iniciar o Chrome com a sinalização de linha de comando --disable-manifest-update-throttle ou reiniciar o Chrome (use about://restart). Isso redefine o timer para que o Chrome verifique se há um manifesto atualizado quando o PWA for iniciado na próxima vez. 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 em que o manifesto local foi verificado quanto a alterações. Se o manifesto não tiver sido verificado nas últimas 24 horas, o Chrome vai programar uma solicitação de rede para o manifesto e o comparará com a cópia local.

Se algumas propriedades do manifesto tiverem sido alteradas (veja a lista abaixo), o Chrome colocará o novo manifesto na fila e, depois que todas as janelas do PWA forem fechadas, o dispositivo será conectado e conectado ao Wi-Fi, o Chrome solicitará um WebAPK atualizado do servidor. Depois de atualizados, todos os campos do novo manifesto sã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 do 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, substitua o timer e o manifesto local:

  1. Conecte o dispositivo e confira se ele está conectado ao Wi-Fi.
  2. Use o gerenciador de tarefas do Android para desligar o PWA e, em seguida, o painel do app nas configurações do Android para forçar o fechamento dele.
  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 desligar o PWA e, em seguida, o painel do app nas configurações do Android para forçar o fechamento dele.

O PWA geralmente é atualizado em alguns minutos, depois que a atualização é concluída, o "Status da atualização" muda para "Concluída"

Referências