Saltar al contenido

Auto Update

GitHub

Esta documentación explica cómo ejecutar tu servidor de auto-update.

Asegúrate de que tu bundle se sirva vía HTTPS y que el servidor tenga los headers CORS correctos para permitir que la app descargue la actualización. Ej. https://myserver.com/app/updates/updates.json

Si no estás familiarizado con servir un bundle, te recomendamos probar Capgo Cloud o ver un ejemplo aquí:

Añade un updateUrl a tu capacitor.config.json.

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

El plugin hará una llamada POST a tu API cada vez que se abra la app, con este body:

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 debe responder en JSON al plugin capacitor-updater. Con estos datos, si hay 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 Auto-update, el servidor debe comparar las versiones y devolver la correcta; si la clave URL está presente, el plugin inicia la descarga.

Si añades las claves “message” y “error”, no se establecerá la versión y el mensaje se mostrará en los logs.

version la clave debe estar en semver formato.

El zip debe tener index.html como archivo en la raíz, o una única carpeta en la raíz con index.html dentro.

Puedes usar el comando de CLI para comprimir tu bundle:

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

Importante: Debes usar el Capgo CLI para crear tu archivo zip del bundle. El plugin Capgo requiere un formato y estructura zip específicos que solo se garantizan usando la herramienta oficial CLI.

Para generar el checksum de tu bundle, usa el comando zip de Capgo CLI con el --json flag:

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

Este comando hará lo siguiente:

  • Creará un archivo zip con el formato correcto compatible con el plugin Capgo
  • Generará el checksum SHA256 para la verificación de integridad
  • Exportará la información del bundle en formato JSON

Ejemplo de salida:

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

Usa la checksum el valor de esta salida en tu respuesta de API para que el plugin pueda verificar la integridad del bundle antes de la instalación.

Si estás usando Auto Update para planificar la migración y las operaciones enterprise, conéctalo con Al usar @capgo/capacitor-updater para la funcionalidad nativa al usar @capgo/capacitor-updater, Capgo Enterprise para el flujo de trabajo del producto en Capgo Enterprise, Alternativas a plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de Plugins de Ionic Enterprise, Alternativas a Capgo para el flujo de trabajo del producto en Alternativas a Capgo, y Consultoría de Capgo para el flujo de trabajo de productos en Capgo Consulting.