Es una guía para convertir extensiones de Manifest V2 a extensiones de Manifest V3.
En esta sección, se explica cómo actualizar una extensión de Manifest V2 a Manifest V3, la versión más reciente de la plataforma de extensiones de Chrome. El trabajo de migración se divide en las siguientes categorías generales. Para ayudarte a hacer un seguimiento de tu trabajo, te proporcionamos una lista de tareas que resume el contenido de estos documentos. Puedes acceder al contenido con la lista de tareas o explorar el contenido. Ambos caminos terminan con una extensión actualizada.
- Actualiza el manifiesto: El
manifest.jsondebe ser específico para V3. En esta sección, se describen los cambios que se pueden realizar por sí solos. Los cambios en el manifiesto relacionados con el código se describen con los cambios de código que admiten. - Migra a un service worker: Un service worker reemplaza la página de eventos o en segundo plano de la extensión para garantizar que el código en segundo plano permanezca fuera del subproceso principal, donde puede afectar el rendimiento. Este cambio también requiere que se muevan las llamadas a la API de DOM, window y ciertas extensiones a documentos fuera de pantalla.
- Actualiza las llamadas a la API: Algunas llamadas a la API deben reemplazarse por equivalentes más modernos.
- Reemplaza los detectores de solicitudes web de bloqueo: Bloquear o modificar las solicitudes de red en Manifest V2 podría degradar significativamente el rendimiento y requerir un acceso excesivo a datos sensibles del usuario. La API de Declarative Net Request permite que las extensiones bloqueen o modifiquen el contenido web con menos permisos y sin afectar el rendimiento.
- Mejora la seguridad de las extensiones: Manifest V3 mejora la seguridad de las extensiones de varias maneras. Además de una política de seguridad del contenido mejorada, se quitó la compatibilidad con el código alojado de forma remota y la ejecución de cadenas arbitrarias.
- Publica tu extensión: En esta sección, se describe cómo lanzar tu extensión de Manifest V3 en etapas para asegurarte de que funcione según lo previsto. Para ello, primero, debes probarla con un público limitado.
También tenemos un convertidor de manifiestos de extensiones. No lo hace todo por ti, pero te ayudará a comenzar. En el README del convertidor, se describe qué cambia la herramienta.
Conservar el conjunto actual de funciones
Para reducir las probabilidades de que surjan problemas o errores inesperados, te recomendamos que no agregues funciones nuevas durante la migración. Por ejemplo, agregar una función que requiere permisos nuevos puede activar una advertencia de permisos, lo que inhabilitará tu extensión hasta que el usuario acepte los permisos nuevos. Consulta las prácticas recomendadas para las advertencias de permisos y conoce otras formas de agregar permisos sin mostrar una advertencia.
Manifest V3 es compatible de forma general en Chrome 88 o versiones posteriores. Cuando actualices las llamadas a la API, es posible que las funciones de reemplazo no se hayan lanzado en Chrome hasta después de la versión 88. Las páginas de referencia de la API contienen información de asistencia para los miembros individuales de la API. Si descubres que necesitas una de estas funciones, puedes especificar una versión mínima de Chrome en el archivo de manifiesto.
Nuevas funciones de la plataforma de extensiones
Desde el lanzamiento de Manifest V3, seguimos agregando funciones nuevas, muchas de las cuales se pueden usar tanto en Manifest V2 como en Manifest V3. No es obligatorio usarlas cuando realices la conversión. Sin embargo, cuando reemplacen funciones más antiguas, debes preferirlas a las funciones que reemplazan y esperar que las funciones reemplazadas se dejen de usar y se quiten con el tiempo.