En julio, lanzamos una nueva serie de blogs para mantenerte al tanto de los desarrollos de las extensiones. Gracias a tus valiosos comentarios y a nuestra colaboración continua con otros proveedores de navegadores en el grupo comunitario de WebExtensions, seguimos mejorando las APIs de extensiones y trabajando para lograr una mayor coherencia entre los navegadores.
Te damos la bienvenida a la edición de octubre. En esta publicación, analizaremos algunos de los cambios que realizó el equipo de extensiones de Chrome en los últimos meses, así como algunas funciones nuevas que se lanzarán más adelante este año. Comencemos.
Nuevas APIs y funciones de extensión
En esta sección, compartimos algunos lanzamientos importantes de la API, revisamos brevemente otras mejoras de la API y compartimos las próximas versiones. Actualmente, todos los lanzamientos están disponibles en la versión beta más reciente. Consulta el programa de lanzamientos de Chromium para obtener más detalles.
Destacadas
Problemas conocidos resueltos
El equipo de extensiones ha estado trabajando activamente para resolver los problemas de estabilidad de Manifest V3. Chrome 116 lanzó muchas mejoras que nos ayudaron a avanzar significativamente para cerrar la brecha de funciones entre Manifest V2 y V3. En Chrome 120, habremos terminado de abordar todas nuestras brechas de plataforma priorizadas y cerrado todos los errores críticos que se documentan en la página de problemas conocidos. Actualmente, todas las funciones están disponibles en Chrome 120 Canary, excepto la compatibilidad con fileHandler para ChromeOS Lacros y la API de userScripts, que se lanzará más adelante este mes. Consulta la página de problemas conocidos actualizada para obtener más detalles.
Se mejoró la estabilidad del trabajador de servicio
Se resolvieron los problemas de estabilidad relacionados con el trabajador de servicio. En Chrome 116, agregamos un estado activo sólido a las APIs de extensiones que muestran un mensaje para el usuario y mejoramos la compatibilidad con WebSockets (consulta el instructivo Cómo usar WebSockets en extensiones). A partir de Chrome 118, un service worker permanecerá activo durante una sesión activa de la API de Debugger.
Consulta nuestra guía actualizada de Service Worker para obtener más detalles. Si tus usuarios siguen teniendo problemas de estabilidad relacionados con el trabajador de servicio en versiones de Chrome posteriores a la 119, avísanos.
Mayor seguridad
Anteriormente, navegar a algunas URLs de chrome://
con tabs.update()
, tabs.create
y windows.create()
generaba un error o provocaba que Chrome fallara. Además, tabs.update()
no pudo abrir una URL de JavaScript. En Chrome 117, expandimos la cantidad de URLs chrome://
compatibles, y el bloqueo de URLs de JavaScript ahora también se aplica a todos los métodos de la API de la extensión.
En Chrome 117, los usuarios recibirán notificaciones proactivas en la página Extensiones de Chrome si una extensión que instalaron ya no está disponible en Chrome Web Store. Esto puede ocurrir si el desarrollador despublica la extensión, si se quita por incumplimientos de políticas o si se identifica como software malicioso. Para obtener más información, consulta Cómo llevar la Verificación de seguridad a la página chrome://extensions.
En Chrome 118, las extensiones no podrán navegar a URLs de file://
con las APIs de chrome.tabs
y chrome.windows
, a menos que la opción "Permitir acceso a las URLs de archivos" esté habilitada en la página de detalles de la extensión. Consulta el debate de WECG.
Más lanzamientos de APIs
- API de Runtime: A partir de Chrome 116, puedes usar
runtime.getContexts()
para recuperar información sobre los contextos activos. Por ejemplo, puedes verificar si hay un documento fuera de la pantalla activo. - API de Side Panel En Chrome 116, puedes usar
sidepanel.open()
para abrir el panel lateral de la extensión de forma programática en respuesta a un gesto del usuario, como un clic en el menú contextual. - API de TabCapture: Se agregó la capacidad de llamar a
getMediaStreamId()
desde el service worker de la extensión y obtener un objetoMediaStream
de un ID de transmisión en un documento fuera de la pantalla en Chrome 116. Consulta Grabación de audio y captura de pantalla para ver ejemplos. - API de DeclarativeNetRequest: El valor predeterminado de la propiedad
isUrlFilterCaseSensitive
se cambió afalse
en Chrome 118.
Próximamente…
Planeamos abordar todos los elementos restantes de la página de problemas conocidos con el lanzamiento de Chrome 120. Además, planeamos agregar las siguientes funciones:
- La API de UserScripts permitirá a los administradores de secuencias de comandos de usuario coordinar cómo y cuándo insertar una colección de secuencias de comandos de usuario en páginas web. Consulta la propuesta de WECG para obtener más información.
- La API de ReadingList permitirá a los desarrolladores crear, leer, actualizar y borrar metadatos ubicados en el panel de la lista de lectura del panel lateral. Mira el video Novedades de las extensiones de Chrome para ver el anuncio.
- Después de los comentarios en el grupo de la comunidad de Extensiones web, aumentaremos significativamente el límite de conjuntos de reglas estáticos habilitados de 10 a 50. Además, aumentaremos de 50 a 100 la cantidad total de conjuntos de reglas estáticos permitidos. Actualmente, esta función está disponible en Canary.
- La API de administración de archivos: estará disponible para las extensiones de ChromeOS a partir de ChromeOS 120, lo que les permitirá abrir archivos con tipos MIME y extensiones de archivos especificados de manera similar a la administración de archivos de la plataforma web.
- Las extensiones podrán usar la API de notificaciones push web a través de
self.registration.pushManager.subscribe()
sin mostrar una notificación visible para el usuario si configuranuserVisibleOnly
comofalse
. Esto hará que las notificaciones push sean una alternativa más fluida a los WebSockets en los trabajadores del servicio (MV3) para la comunicación asíncrona entre cliente y servidor. Consulta el error de Chromium y la discusión del WECG para obtener más detalles.
No te pierdas las novedades de la página Novedades de las extensiones para ver los anuncios en cuanto estas funciones estén disponibles en Chrome Beta.
Actualizaciones de la documentación
También mejoramos nuestra documentación y la ampliamos. Continúa haciendo preguntas en chromium-group y informa problemas de documentación.
Destacadas
- Renovamos la página de destino de Samples. Ahora puedes filtrar por API, permiso y tipo, lo que facilita la ubicación de muestras específicas. Esta mejora fue un esfuerzo colaborativo con nuestro pasante de Summer of Code, Xuezhou Dai. Lee sobre su experiencia en esta entrada de blog.
- En Cómo usar tu cuenta de Google Analytics con Chrome Web Store, se describe cómo ver Google Analytics 4 para tu ficha de Chrome Web Store, lo que complementa los datos que proporciona el Panel del desarrollador. En esta guía, se proporcionan pasos para habilitar Google Analytics, supervisar el rendimiento de los anuncios, hacer un seguimiento de las conversiones y otorgar a otras cuentas acceso a los datos de Google Analytics.
- Publicamos una nueva guía sobre cómo funcionan las cookies y las APIs de almacenamiento web en las extensiones de Chrome. Incluye todo lo que necesitas saber sobre Privacy Sandbox como desarrollador de extensiones.
- Lanzamos nuevos artículos sobre cómo integrar pruebas en tus proyectos de extensiones: Pruebas de unidades de extensiones de Chrome y Pruebas de extremo a extremo para extensiones incluyen orientación general y prácticas recomendadas en varios frameworks populares. Para ver un instructivo práctico, consulta Cómo probar extensiones de Chrome con Puppeteer.
Más novedades
- Volvimos a escribir la guía de la API de Declarative Net Request de manera que brinde una imagen más clara de cómo implementar conjuntos de reglas declarativos.
- Agregamos más orientación para migrar código alojado de forma remota a Manifest V3. Además, para minimizar el riesgo de encontrar problemas durante el lanzamiento, ofrecemos estrategias para publicar tu extensión de Manifest V3 por etapas.
- Obtén información para conectarte a un WebSocket en el trabajador del servicio de tu extensión.
- Ampliamos nuestra Guía para obtener ayuda para incluir instrucciones más detalladas sobre cómo informar un error, hacer un seguimiento de los problemas existentes, solicitar funciones nuevas y mucho más.
Próximamente…
- Referencia y instructivo de la API de Secuencias de comandos del usuario.
- Instructivo y muestras de Firebase
- Referencia de la API de ReadingList.
Rediseñamos Chrome Web Store 🌈
A principios de este mes, anunciamos una vista previa temprana de la nueva versión de Chrome Web Store, como lo mencionamos en Google I/O. ¡Pruébala! https://chromewebstore.google.com/. Estos son algunos cambios notables:
- Se aumentó la lista de categorías de once a una nueva lista de diecisiete en tres grupos de categorías.
- Se mejoró la función de autocompletar en la búsqueda.
- Las capturas de pantalla ahora se muestran con una calidad mucho más alta. Si aún no lo hiciste, puedes subir capturas de pantalla de 1280 x 800.
- Las respuestas a las preguntas de la pestaña Asistencia ahora muestran líneas nuevas.
- Cuando respondas las opiniones de los usuarios y las preguntas de asistencia, tu respuesta incluirá una insignia de “Desarrollador” junto a tu nombre.
- Para proporcionarles a los usuarios un vínculo directo a la página de opiniones, agrega "/reviews" al final de la URL del artículo de Play Store. Por ejemplo:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
Gracias a todos por sus aportes hasta el momento en el grupo chromium-google. No dudes en unirte a la conversación o enviar tus comentarios directamente al equipo de CWS mediante el elemento de menú Enviar comentarios:
Además, puedes enviar un formulario de autonominación para que se muestre en la colección Selección de editores. Pronto también se implementarán mejoras en el panel del desarrollador.
💡 ¿Sabías que…?
- Hay un video nuevo sobre la depuración de extensiones de Chrome. En él, se abordan muchos temas que quizás ya conozcas, pero también se comparten algunos trucos interesantes para usar DevTools en extensiones.
- Ahora debes proporcionar una política de privacidad para cada extensión. Anteriormente, solo podías agregar una política de privacidad por cuenta de desarrollador, pero era incómodo si tenías algunas extensiones en una cuenta de desarrollador. Esta nueva interfaz está disponible en la pestaña Privacidad de tu artículo en el panel del desarrollador. Esto significa que ya no se admiten las políticas de privacidad a nivel de la cuenta.
Comunicarse 🙌
Seguimos comunicándonos con la comunidad de desarrolladores de extensiones mediante reuniones individuales, lanzando nuevos programas y asistiendo a cumbres. Estos son algunos aspectos destacados:
- En agosto, se lanzó el Programa de expertos en desarrolladores de Google para extensiones. Tenemos más de una docena de nuevos GDE enfocados en extensiones de Chrome de todo el mundo que nos brindan excelentes comentarios. Es un momento muy emocionante para el programa.
- Asistimos a TPAC (la conferencia anual del W3C) como parte del Web Extensions Community Group y nos reunimos con representantes de Firefox y Safari, junto con varios miembros de la comunidad. Hicimos grandes avances en varios temas, como avanzar hacia APIs de extensión más coherentes, trabajar en una especificación y compilar en función de las pruebas de la plataforma web para crear un nuevo paquete de pruebas. Lee el acta completa en el repositorio de WECG.
- La semana pasada, el equipo de la extensión participó en la Ad-Filtering Dev Summit en Ámsterdam. Se reunió con varios de ustedes en un chat de café que organizó antes de la semana de la cumbre y en el horario de atención al público del viernes.
Incluso si no pudiste asistir a ninguno de estos eventos, puedes seguir participando haciendo preguntas en el grupo de Google chromium-extensions, siguiendo las conversaciones de los socios del navegador en el WECG y, además, informar cualquier problema de documentación.
Gracias nuevamente por formar parte de la comunidad de desarrolladores de extensiones.