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:
- Conecte o dispositivo e confira se ele está conectado ao Wi-Fi.
- 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.
- No Chrome, abra
about://webapks
e clique no botão "Atualizar" do PWA. O "Status da atualização" vai mudar para "Pendente". - Inicie o PWA e verifique se ele foi carregado corretamente.
- 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
- Tipo enumerado
UpdateReason
para o Chrome no Android