Saltar al contenido

Migrar de Capawesome Cloud a Capgo

⚡️ Capgo automatiza canales, limpieza de bundles, rollbacks, analytics y subidas de CLI de forma nativa. Usa esta guía para realizar los pasos mínimos necesarios para migrar y, opcionalmente, recrear cualquier comportamiento personalizado que aún necesites.

  1. Reúne tu configuración actual de Capawesome Cloud (App ID, canales, claves de firma, tokens de CLI) para poder archivarla o auditarla más tarde.
  2. Instala el plugin de Capgo, elimina el SDK de Capawesome y llama a CapacitorUpdater.notifyAppReady().
  3. Configura comportamientos opcionales (descargas manuales, pinning de bundles, reloads) si actualmente dependes de esos flujos.

Con Capgo solo necesitas instalar nuestro plugin y llamar a CapacitorUpdater.notifyAppReady(). Todo lo demás —canales, limpieza de bundles, rollbacks, analytics y la automatización de CLI— se gestiona de forma nativa. Las siguientes secciones detallan cada tarea directamente.

  • Asegúrate de que tu proyecto ya esté usando Capacitor 5 o superior.
  • Instala el Capgo CLI (npm install -g @capgo/cli) si planeas subir bundles desde CI/CD.

Paso 1 – Instala Capgo y elimina el SDK de Capawesome

Sección titulada “Paso 1 – Instala Capgo y elimina el SDK de Capawesome”
Ventana de terminal
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

Ese es el único cambio obligatorio. El code nativo de Capgo viene incluido en el plugin; no requiere helpers de JavaScript adicionales.

La configuración anterior requería mapear decenas de opciones en capacitor.config. Capgo reconoce tu proyecto automáticamente, así que la configuración mínima queda así:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes
},
},
}
export default config

Todo lo que Capawesome lista como flags manuales (defaultChannel, autoDeleteBundles, políticas de retención, etc.) se gestiona desde el dashboard de Capgo o mediante API. Solo necesitas sobrescribir estas keys si buscas un comportamiento distinto al de los valores por defecto de Capgo.

Opción de CapawesomeEquivalente en Capgo¿Es necesario configurarlo?
appIdObtenido del dashboard de Capgo tras crear un proyectoSolo si usas múltiples proyectos en un mismo binario
defaultChannelReglas de canal gestionadas en el dashboard/APIOptional; most teams set this server-side
autoDeleteBundlesautoDeletePrevious: true (por defecto)Ya está activado
publicKeyGestionado en la consola de CapgoSolo si rotas las llaves manualmente
maxVersions / retenciónPolítica de retención de bundlesConfigurado centralmente en Capgo (1 mes por defecto, máx. 24 meses)

Paso 3 – Llamada notifyAppReady() (el único hook requerido)

Sección titulada “Paso 3 – Llama a notifyAppReady() (el único hook obligatorio)”

El flujo anterior usaba listeners personalizados (checkForUpdates(), retryDownload(), ocultar la splash screen, etc.). Capgo realiza esos pasos de forma nativa. El único API que debes llamar es:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

Esto confirma que la app arrancó correctamente. Si la confirmación no llega, Capgo hace un rollback automático del bundle, sin necesidad de JavaScript extra.

Eso es todo: Capgo gestiona de forma nativa los background checks, la visibilidad del splash y los rollbacks.

Opcional: ejecutar lógica personalizada antes de ocultar el splash screen
import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => {
// Run diagnostics or logging if you need to
SplashScreen.hide()
})
CapacitorUpdater.notifyAppReady()

En Capgo normalmente dejas que el auto-updater se ejecute; las APIs manuales siguen disponibles si quieres tener el control total.

Capawesome CloudEquivalente en Capgo¿Lo necesitas?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()Solo al implementar tu propio flujo de trabajo de download
LiveUpdate.downloadBundle()CapacitorUpdater.download()Opcional: el auto-update nativo ya descarga
LiveUpdate.setNextBundle()CapacitorUpdater.next()Opcional: el dashboard fija bundles automáticamente
LiveUpdate.reload()CapacitorUpdater.reload()Opcional: Capgo impone bundles obligatorios después notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Diagnósticos opcionales

Si mantienes el comportamiento de auto-update nativo, puedes eliminar el JavaScript de Capawesome por completo.

Descargar el último bundle

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const bundle = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
console.log('Bundle downloaded', bundle?.id)
}
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => {
const result = await LiveUpdate.fetchLatestBundle()
if (result.downloadUrl) {
await LiveUpdate.downloadBundle({
bundleId: result.bundleId,
url: result.downloadUrl,
})
console.log('Bundle downloaded')
}
}

Establecer el siguiente bundle

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

Aplicar el bundle descargado de inmediato

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

Paso 5 – Estrategias de actualización: cómo las gestiona Capgo

Sección titulada “Paso 5 – Estrategias de actualización: cómo las gestiona Capgo”

Capawesome documenta tres estrategias. Así es como se traducen:

Actualizaciones en segundo plano

Sección titulada “Background updates”
  • Workflow anterior: configurar en code y programar las descargas manualmente.
  • Capgo: activado por defecto (autoUpdate: true). No requiere code adicional.
  • Workflow anterior: añade un App.resume listener, llamada download, luego set.
  • Capgo: el auto-update en background ya realiza la comprobación al reanudar. Solo necesitas el listener manual si quieres un intervalo personalizado.
Opcional: comprobación manual al reanudar
import { App } from '@capacitor/app'
import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const downloaded = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
if (downloaded) {
await CapacitorUpdater.next({ id: downloaded.id })
}
}
})
  • Workflow anterior: conectar la lógica del prompt y forzar el reload.
  • Capgo: marcar el bundle como “obligatorio” en el dashboard, luego escuchar el majorAvailable evento (emitido tras notifyAppReady()) para obligar a los usuarios a actualizar dentro de tu app.

Si antes dependías de capawesome live-update deploy, Capgo ofrece un workflow de CLI similar, y también puedes automatizar los despliegues por completo mediante API.

Ventana de terminal
# Authenticate once (stores a token in your CI environment)
capgo login
# Upload a new bundle (auto-detects platform/version)
capgo bundle upload --path dist --channel production

Como Capgo monitoriza la salud de los bundles automáticamente, también obtienes:

  • Logs de auditoría a nivel de dispositivo para cada instalación.
  • Retención automática (un mes por defecto) con límites configurables hasta 24 meses.
  • Métricas de latencia en tiempo real en estado.capgo.app/historial.
  • Inventario e instalación: 10 min (npm install, eliminar plugin antiguo).
  • Configuración y preparación: 5 minutos (notifyAppReady).
  • Pruebas de control: 15 min (pruebas manuales o listeners opcionales).
  • Primer despliegue: 10 min con Capgo CLI o integración de CI.

En la práctica, los equipos terminan en menos de una hora. Si nos das los detalles del proyecto de Capawesome, incluso podemos importar canales y listas de dispositivos por ti.

Capgo está pensado para ofrecer fiabilidad a largo plazo: actualizaciones delta nativas, bundles cifrados, rollbacks automáticos y analytics sin necesidad de JavaScript personalizado. Cuando migres, podrás eliminar el código de integración que tanto mantenimiento requiere y dejar que la plataforma ejecute las actualizaciones automáticamente.

Continúa desde Migrar de Capawesome Cloud a Capgo

Sección titulada “Continúa tu migración de Capawesome Cloud a Capgo”

Si estás usando Migrar de Capawesome Cloud a Capgo para planificar la automatización de CI/CD, conéctalo con CI/CD de Capgo para el flujo de trabajo del producto en Capgo CI/CD, Native Builds de Capgo para el flujo de trabajo del producto en Capgo Native Builds, Integraciones de Capgo para el flujo de trabajo del producto en Capgo Integraciones, Integración CI/CD para los detalles de implementación de CI/CD Integration, y Integración con GitHub Actions para los detalles de implementación de GitHub Actions Integration.