Saltar al contenido

Actualización automática

Esta documentación explicará cómo ejecutar su servidor de actualización automática.

Asegúrese de que su paquete esté servido sobre HTTPS, y que el servidor tenga los encabezados CORS correctos para permitir que la aplicación descargue la actualización. e.g. https://myserver.com/app/updates/updates.json

Si está desconocido con la servido de un paquete, le recomendamos que intente Capgo Cloud o vea un ejemplo aquí:

Agregar un updateUrl a tu capacitor.config.json.

{
"plugins": {
"CapacitorUpdater": {
"updateUrl": "https://myserver.com/app/updates/updates.json",
}
}
}

El plugin realizará una llamada POST a tu API cada vez que se abra la aplicación, con este cuerpo:

interface AppInfos {
"platform": "ios" | "android" | "electron",
"device_id": "UUID_of_device_unique_by_install",
"app_id": "APPID_FROM_CAPACITOR_CONFIG",
"custom_id": "your_custom_id_set_on_runtime",
"plugin_version": "PLUGIN_VERSION",
"version_build": "VERSION_NUMBER_FROM_NATIVE_CODE",
"version_code": "VERSION_CODE_FROM_NATIVE_CODE",
"version_name": "LAST_DOWNLOADER_VERSION" | "builtin"
"version_os": "VERSION_OF_SYSTEM_OS",
"is_emulator": boolean,
"is_prod": boolean,
}

El servidor API debería responder, en JSON, al plugin de actualizador capacitor. Con esta información si es necesario una actualización:

{
"version": "1.2.3",
"url": "https://myserver.com/app/updates/my-new-app-2.0.0.zip",
"checksum": "sha256_checksum_of_bundle"
}

En modo de actualización automática, el servidor debería comparar las versiones y devolver la correcta, si la clave URL está presente, el plugin inicia el proceso de descarga.

Si agregas las claves “message” y “error”, la versión no se establecerá, y el mensaje se mostrará en los registros en su lugar.

version La clave debe estar en semver formato.

El zip debería tener index.html como archivo en la raíz, o solo una carpeta en la raíz con index.html dentro.

Puedes utilizar el comando del CLI para comprimir tu paquete:

Crear un paquete con tus archivos para servir desde tu servidor
npx @capgo/cli bundle zip --path [/path/to/my/bundle]

Importante: Debes utilizar los Capgo CLI para crear tu archivo zip de paquete. El plugin Capgo requiere un formato y estructura de zip específicos que solo se garantizan cuando se utiliza la herramienta oficial CLI. Las utilidades de zip estándar pueden crear archivos incompatibles.

Para generar el checksum de tu paquete, utiliza el comando Capgo CLI zip con la --json flag:

Crear paquete con información de checksum
npx @capgo/cli bundle zip [appId] --json

Esta orden realizará:

  • Crear un archivo zip correctamente formateado compatible con el plugin Capgo
  • Generar el checksum SHA256 para la verificación de integridad
  • Mostrar información del paquete en formato JSON

Ejemplo de salida:

{
"version": "1.2.3",
"checksum": "a1b2c3d4e5f6789...",
"size": 1234567
}

Utilice el valor de esta salida en su __CAPGO_KEEP_0__ respuesta para asegurarse de que el complemento pueda verificar la integridad del paquete antes de la instalación. checksum value from this output in your API response to ensure the plugin can verify the bundle integrity before installation.