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 é 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 nas últimas 24 horas, o Chrome vai fazer uma solicitação de rede para o manifesto e, em seguida, comparar com a cópia local.
Se algumas propriedades no manifesto tiverem mudado (consulte a lista abaixo), o Chrome
colocará o novo manifesto na fila e, depois que todas as janelas forem fechadas, ele será instalado.
Depois de instalado, todos os campos do novo manifesto, exceto icons
, são atualizados.
Quais propriedades vão acionar uma atualização?
name
short_name
display
(veja 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 atuais não vão ter os apps 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 guia de janela/navegador controlada pelo usuário. A preferência
do usuário é sempre respeitada.
Como testar atualizações de manifestos
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
a PWA. Depois de fechar o PWA, ele precisa 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 em busca de 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 (veja 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 vão acionar uma atualização?
name
short_name
icons
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 manifestos
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, substituindo o timer e o manifesto local, faça o seguinte:
- Conecte o dispositivo e confira se ele está conectado ao Wi-Fi.
- 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 o fechamento do PWA.
- No Chrome, abra
about://webapks
e clique no botão "Atualizar" do PWA. O status "Atualizar status" vai mudar para "Pendente". - Inicie a PWA e verifique se ela foi carregada corretamente.
- 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 o encerramento do PWA.
A PWA geralmente é atualizada em alguns minutos. Depois que a atualização for concluída, o status "Status da atualização" vai mudar para "Concluída".
Referências
- Tipo enumerado
UpdateReason
para o Chrome no Android