Cuando el usuario instala tu AWP, el navegador necesita una forma de identificarla de manera única. Sin embargo, hasta hace poco, la especificación del manifiesto de la aplicación web no definía de forma explícita una forma de identificar de forma única una AWP, lo que dejaba que los navegadores decidan y, lo que generaría diferentes implementaciones. En algunos navegadores, se usa start_url
, mientras que en otros, se usa la ruta de acceso al archivo de manifiesto, lo que hace que sea imposible actualizar cualquiera de esos campos.
Para resolver este problema, hay una nueva propiedad id
opcional en la especificación del manifiesto de la app web que te permite definir de forma explícita el identificador que se usa para tu AWP. Si agregas la propiedad id
al manifiesto, se quitará la dependencia de start_url
o de la ubicación del manifiesto, y podrás actualizarlas en el futuro.
¿Para qué sirve la propiedad id
?
La propiedad id
representa la identidad de la AWP para el navegador. Cuando el navegador detecte un manifiesto que no tiene una identidad que coincida con una AWP ya instalada, lo tratará como una AWP nueva, incluso si se entrega desde la misma URL que otra AWP. Sin embargo, si ve un manifiesto con una identidad que coincide con la AWP ya instalada, lo considerará como la AWP instalada.
Navegadores compatibles
La compatibilidad con la propiedad id
llegó en Chrome 96.
¿Qué debo hacer si tengo una app sin id
?
No debes realizar ninguna acción y no se producirá ningún error si no agregas un id
al manifiesto de tu app web (siempre y cuando la start_url
y la ruta del manifiesto sigan siendo las mismas). Para preparar tu AWP para el futuro, puedes agregar una propiedad id
al manifiesto de la app web.
¿Cómo puedo determinar y configurar mi id
?
La forma más segura y precisa de determinar el id
de una AWP es comprobar el valor que calculó Chrome.
- En Chrome 96 o versiones posteriores, abre el panel Manifiesto del panel Aplicación en Herramientas para desarrolladores.
- Coloca el cursor sobre el ícono
(!)
junto a la propiedad ID de la app. El ícono de información sobre(!)
solo aparecerá cuando no se especifique elid
en el archivo de manifiesto de la app web. - Observa el valor de
id
que se muestra en la sugerencia de la herramienta (consulta la captura de pantalla a continuación). - Agrega una propiedad
id
al manifiesto de la app web con el valorid
que se muestra en la información sobre la herramienta.
{
...
id: "/?homescreen=1",
start_url: "/?homescreen=1",
...
}
¿Qué sucede si no configuro un id
?
No te preocupes, nada se dañará. A partir de Chrome 96, el navegador generará un id
si no hay uno en el manifiesto basado en start_url
en el manifiesto de la app web.
Agregar una id
al manifiesto de la aplicación web permite cambiar el start_url
y la ruta de acceso al manifiesto (solo si su origen particular sigue siendo el mismo), ya que el navegador identificará la AWP en función del id
especificado, en lugar de start_url
o la ruta del manifiesto.
¿Cómo lo pruebo?
Para probar el comportamiento, sigue estos pasos:
- Instala la AWP.
- Abre
about://web-app-internals/
y revisa las propiedadesunhashed_app_id
ystart_url
de la AWP instalada. - Para agregar una propiedad
id
al manifiesto de tu aplicación web, sigue los pasos detallados en la sección ¿Cómo puedo determinar y configurar miid
más arriba? - Reinicia el navegador con
chrome://restart
, inicia la AWP desdeabout://apps
y, luego, cierra la AWP para forzar la actualización del archivo de manifiesto. - Abre
about://web-app-internals/
y revisa la propiedadmanifest_id
de la AWP instalada para verificar que no haya cambiado. - Cambia el elemento
start_url
en el manifiesto de la app web. - Reinicia el navegador con
chrome://restart
, inicia la AWP desdeabout://apps
y, luego, cierra la AWP para forzar la actualización del archivo de manifiesto. - Abre
about://web-app-internals/
y verifica la propiedadstart_url
de la AWP instalada para verificar que se haya actualizado como se espera.