O que é um web app manifest?
Um web app manifest (manifest.json ou site.webmanifest) é um arquivo JSON que fornece metadados sobre a sua aplicação web. Ele informa aos navegadores como o app deve se comportar quando instalado no dispositivo do usuário.
O que ele habilita
- “Adicionar à tela inicial” — O prompt de instalação no Chrome Android
- Experiência semelhante a app — Abre sem o chrome do navegador (fullscreen ou standalone)
- Ícone e nome customizados — Como o app aparece na tela inicial
- Splash screen — Uma tela de carregamento quando o app inicia
- Recursos de PWA — Service workers, suporte offline, push notifications
- App stores — Necessário para enviar PWAs ao Google Play via TWA
Como corrigir
1. Crie o arquivo de manifest
Crie site.webmanifest no diretório público:
{
"name": "Your App Name",
"short_name": "App",
"description": "A brief description of your app",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#4285f4",
"icons": [
{
"src": "/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
2. Linke no HTML
<link rel="manifest" href="/site.webmanifest" />
Propriedades principais do manifest
| Propriedade | Descrição |
|---|---|
name |
Nome completo do app (mostrado no diálogo de instalação) |
short_name |
Nome curto (mostrado sob o ícone na tela inicial) |
start_url |
URL a abrir quando o app inicia |
display |
Modo de exibição: standalone, fullscreen, minimal-ui, browser |
theme_color |
Cor da toolbar (combina com a meta tag theme-color) |
background_color |
Cor de fundo da splash screen |
icons |
Array de objetos de ícone com src, sizes e type |
Boas práticas
- Forneça vários tamanhos de ícone — No mínimo 192x192 e 512x512
- Use display
standalone— Para a experiência mais próxima de um app - Defina
start_urlcomo “/” — Ou uma landing específica para usuários que instalaram - Inclua um ícone maskable — Para suporte a ícones adaptativos no Android
- Valide — Use Chrome DevTools > Application > Manifest para conferir