Saltar al contenido

Introducción a Cordova Updater

GitHub

Esta guía te explica cómo añadir @capgo/cordova-updater a una app de Cordova para que recibas actualizaciones en vivo de Capgo en iOS y Android.

  • Cordova CLI 12+
  • Cordova Android 13+ y/o Cordova iOS 7+
  • Una cuenta de Capgo (capgo.app/register)
  1. Instala el plugin desde npm y pasa tu ID de app de Capgo:

    Ventana de terminal
    cordova plugin add @capgo/cordova-updater --variable APP_ID=YOUR_CAPGO_APP_ID
  2. Opcional: sobrescribe los valores predeterminados en la instalación (mismas variables que el updater de Capacitor):

    Ventana de terminal
    cordova plugin add @capgo/cordova-updater \
    --variable APP_ID=YOUR_CAPGO_APP_ID \
    --variable DEFAULT_CHANNEL=production \
    --variable UPDATE_URL=https://plugin.capgo.app/updates \
    --variable AUTO_UPDATE=atBackground
  3. Prepara los proyectos nativos tras cambiar las variables del plugin:

    Ventana de terminal
    cordova prepare android ios
document.addEventListener('deviceready', async () => {
await cordova.plugins.Updater.notifyAppReady();
});
  • No uses cordova-plugin-ionic-webview con este plugin.
  • Llama a notifyAppReady() en cuanto cargue tu bundle, antes de que el trabajo pesado de la UI retrase la ventana de rollback.
  • Mantén correcta la configuración del scheme de Cordova.

Después de deviceready, el plugin está disponible como cordova.plugins.Updater:

document.addEventListener('deviceready', async () => {
const { Updater } = cordova.plugins;
await Updater.notifyAppReady();
const latest = await Updater.getLatest();
if (latest.url && !latest.error) {
const bundle = await Updater.download({
url: latest.url,
version: latest.version,
checksum: latest.checksum,
});
await Updater.next({ id: bundle.id });
}
});

Los tipos de TypeScript se incluyen con el paquete npm:

import type { UpdaterPlugin } from '@capgo/cordova-updater';
declare const cordova: { plugins: { Updater: UpdaterPlugin } };
  • Requiere Cordova Android 13+ para que el WebView se sirva desde el https://localhost/ scheme.
  • El plugin registra un CordovaPluginPathHandler para servir los assets del bundle descargado.

Genera tus web assets y luego súbelos con Capgo CLI (mismo flujo que Capacitor):

Ventana de terminal
bun run build
npx @capgo/cli@latest bundle upload --channel=production