Compartir a través de


Establecer una extensión instalada externamente para actualizarse automáticamente

Este artículo se aplica a las extensiones instaladas externamente; es decir, las extensiones que se distribuyen a través de un enfoque distinto del Centro de partners; consulte Formas alternativas de distribuir una extensión. Este artículo no se aplica a las extensiones que publique mediante el panel para desarrolladores del Centro de partners; para ese enfoque de distribución, consulte Actualización de una extensión de Microsoft Edge.

Cada pocas horas, Microsoft Edge comprueba si cada extensión o aplicación instalada tiene una dirección URL de actualización. Para especificar una dirección URL de actualización para la extensión, use el update_url campo en el manifiesto. El update_url campo del manifiesto apunta a una ubicación que puede completar una comprobación de actualización. Para cada update_url, esta dirección URL envía solicitudes de archivos XML de manifiesto actualizados. Si el archivo XML del manifiesto de actualización muestra una versión de aplicación o extensión más reciente, Microsoft Edge descarga e instala la versión más reciente. El mismo proceso funciona para las actualizaciones manuales, donde el nuevo .crx archivo debe firmarse con la misma clave privada que la versión instalada actualmente.

Para mantener la privacidad del usuario, Microsoft Edge no envía ningún Cookie encabezado con solicitudes de manifiesto de actualización automática y omite los Set-Cookie encabezados de las respuestas a esas solicitudes.

Al establecer la extensión para que se actualice automáticamente en las máquinas de los usuarios, la extensión comparte las siguientes ventajas con Microsoft Edge:

  • Incorporación de correcciones de errores y seguridad.
  • Agregue nuevas características o mejoras de rendimiento.
  • Mejora de la interfaz de usuario.

El sitio web de complementos de Microsoft Edge hospeda las extensiones y puede actualizar la extensión con el mismo mecanismo que Microsoft Edge. No controla el mecanismo de actualización.

(Anteriormente, se admitían extensiones no basadas en el almacén. Además, anteriormente, actualizó los archivos binarios nativos y la extensión al mismo tiempo).

Importante

Tenga cuidado al actualizar las extensiones que tienen una dependencia en archivos binarios nativos.

Actualizar dirección URL

Si hospeda su propia extensión o aplicación, debe agregar el update_url campo al manifest.json archivo. El siguiente fragmento de código muestra un ejemplo del update_url campo:

{
  "name": "My extension",
  ...
  "update_url": "http://contoso.com/mytestextension/updates.xml",
  ...
}

Actualizar manifiesto

El manifiesto actualizado devuelto por el servidor debe ser un documento XML; por ejemplo:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' />
  </app>
</gupdate>

El archivo XML de manifiesto actualizado define los siguientes atributos:

Atributo Detalles
appid El identificador de extensión se genera en función de un hash de la clave pública. Para buscar el identificador de una extensión, abra Microsoft Edge y vea edge://extensions.
codebase Dirección URL del .crx archivo.
version Microsoft Edge usa este valor de atributo para determinar si debe descargar el .crx archivo especificado por codebase. Debe coincidir con el valor de version en el manifest.json archivo del .crx archivo.

El archivo XML del manifiesto de actualización puede contener información sobre varias extensiones, incluyendo varios <app> elementos.

Pruebas

Microsoft Edge comprueba automáticamente si hay actualizaciones de extensiones cada pocas horas. Para actualizar las extensiones inmediatamente, vaya a edge://extensions, active el botón de alternancia Modo de desarrollador y, a continuación, haga clic en el botón Actualizar .

Uso avanzado: parámetros de solicitud

El mecanismo básico para actualizar mediante parámetros es sencillo. Para actualizar automáticamente la extensión:

  1. Cargue el archivo XML estático en el servidor web, como Apache.
  2. Actualice el archivo XML a medida que publique nuevas versiones de las extensiones.

Aproveche el hecho de que algunos parámetros agregados a la solicitud de manifiesto de actualización indican la extensión ID y version. Puede usar lo mismo update URL para todas las extensiones, en lugar de un archivo XML estático. Para usar lo mismo update URL para todas las extensiones, seleccione una dirección URL que ejecute código dinámico del lado servidor que pruebe los parámetros.

En el ejemplo siguiente se muestra el formato de los parámetros de solicitud de la dirección URL de actualización:

?x={extension_data}

En este ejemplo, {extension_data} es una cadena con codificación URL que usa el siguiente formato.

id={id}&v={version}

Por ejemplo, las dos extensiones siguientes apuntan a la misma dirección URL http://contoso.com/extension_updates.phpde actualización .

  • Extensión 1
    • Id.: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    • dirección URL de actualización: http://contoso.com/extension_updates.php
    • Versión: 1.1
  • Extensión 2
    • Id.: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    • dirección URL de actualización: http://contoso.com/extension_updates.php
    • Versión: 0.4

Los ejemplos siguientes son solicitudes para actualizar cada extensión.

http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
http://contoso.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4

También puede enumerar varias extensiones en una sola solicitud para cada dirección URL de actualización única. En el ejemplo siguiente se combinan las solicitudes anteriores en una sola solicitud:

http://contoso.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4

Si envía una sola solicitud y el número de extensiones instaladas que usan la misma dirección URL de actualización es demasiado largo, la comprobación de actualización emite más GET solicitudes. Una GET dirección URL de solicitud es demasiado larga si tiene aproximadamente 2000 caracteres.

En una versión futura, en lugar de emitir varias GET solicitudes, se podría emitir una sola POST solicitud, con los parámetros de solicitud en el POST cuerpo.

Uso avanzado: versión mínima del explorador

A medida que se publican nuevas API para el sistema de extensiones de Microsoft Edge, es posible que quiera publicar una versión actualizada de la extensión o aplicación que solo funcione con versiones más recientes de Microsoft Edge. Cuando Microsoft Edge se actualiza automáticamente, la mayoría de los usuarios pueden tardar unos días en actualizarse a esa nueva versión.

Para asegurarse de que una actualización específica solo se aplica a las versiones de Microsoft Edge que son actuales o más recientes que una versión específica, agregue el atributo en el prodversionmin manifiesto de actualización.

Por ejemplo, en el código siguiente, el prodversionmin valor de atributo de 3.0.193.0 especifica que la aplicación se actualiza automáticamente a la versión 2.0 solo cuando el usuario ejecuta Microsoft Edge 3.0.193.0 o una versión más reciente:

<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
  <app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
    <updatecheck codebase='http://contoso.com/mytestextension/mte_v2.crx' version='2.0' prodversionmin='3.0.193.0' />
  </app>
</gupdate>

Vea también

Documentación de desarrollo de Chrome:

Nota:

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por Google y usadas según los términos descritos en la licencia internacional creative Commons Attribution 4.0. La página original se encuentra aquí.

Licencia de Creative Commons Esta obra está licenciada bajo una Licencia Internacional Creative Commons Attribution 4.0.