Actualización Automática
Esta documentación explicará cómo ejecutar tu servidor de actualización automática.
Servir tu bundle
Section titled “Servir tu bundle”Asegúrate de que tu bundle se sirva a través de HTTPS, y que el servidor tenga los encabezados CORS correctos para permitir que la aplicación descargue la actualización.
por ejemplo, https://myserver.com/app/updates/updates.json
Si no estás familiarizado con servir un bundle, te recomendamos que pruebes Capgo Cloud o veas un ejemplo aquí:
Configuración
Section titled “Configuración”Agrega un updateUrl a tu capacitor.config.json.
{ "plugins": { "CapacitorUpdater": { "updateUrl": "https://myserver.com/app/updates/updates.json", } }}API de Actualización
Section titled “API de Actualización”El plugin hará una llamada POST a tu API cada vez que la aplicación se abra, con este body:
interface AppInfos { "platform": "ios" | "android", "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,}La API del servidor debe responder, en JSON, al plugin capacitor-updater. Con estos datos si es necesaria 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 debe 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 logs en su lugar.
La clave version debe estar en formato semver.
El zip debe tener index.html como archivo en la raíz, o solo una carpeta en la raíz con index.html dentro.
Puedes usar el comando del CLI para comprimir tu bundle:
npx @capgo/cli bundle zip --path [/path/to/my/bundle]Generación del Checksum del Bundle
Section titled “Generación del Checksum del Bundle”Importante: Debes usar el CLI de Capgo para crear tu archivo zip del bundle. El plugin de Capgo requiere un formato y estructura de zip específicos que solo están garantizados cuando se usa la herramienta CLI oficial. Las utilidades zip estándar pueden crear archivos incompatibles.
Para generar el checksum de tu bundle, usa el comando zip del CLI de Capgo con la bandera --json:
npx @capgo/cli bundle zip [appId] --jsonEste comando:
- Creará un archivo zip correctamente formateado compatible con el plugin de Capgo
- Generará el checksum SHA256 para verificación de integridad
- Mostrará la información del bundle en formato JSON
Ejemplo de salida:
{ "version": "1.2.3", "checksum": "a1b2c3d4e5f6789...", "size": 1234567}Usa el valor checksum de esta salida en la respuesta de tu API para asegurar que el plugin pueda verificar la integridad del bundle antes de la instalación.