Migrar de AppFlow a Capgo
🚦 Ionic anunció que los productos comerciales de AppFlow, incluidas las Actualizaciones en Vivo, están cerrando. Los proyectos existentes pueden ejecutarse hasta el 31 de diciembre de 2027, pero no se aceptan nuevos clientes y no se planean nuevas funciones. Esta guía te guía a través de las acciones necesarias para migrar a Capgo y destaca la automatización nativa que obtienes.
Resumen de la migración
Section titled “Resumen de la migración”Capgo maneja canales, retención de Paquetes, Reversiones, análisis y cargas CLI por ti. La migración se reduce a instalar el Plugin, llamar a CapacitorUpdater.notifyAppReady() y, si lo deseas, configurar controles manuales opcionales. Las secciones a continuación describen cada tarea directamente.
Paso 0 – Captura tu configuración actual de AppFlow
Section titled “Paso 0 – Captura tu configuración actual de AppFlow”- Anota tu ID de aplicación de AppFlow, canales existentes y claves de firma.
- Exporta cualquier historial de Paquetes que desees archivar.
- Si estás usando GitHub Actions u otro proveedor de CI, mantén esos pipelines: seguirán funcionando con Capgo.
Paso 1 – Reemplaza el SDK de AppFlow con Capgo
Section titled “Paso 1 – Reemplaza el SDK de AppFlow con Capgo”npm uninstall @capacitor/live-updatesnpm install @capgo/capacitor-updaternpx cap syncEso es todo. Capgo incluye el código nativo para iOS y Android; no se requieren helpers de JavaScript adicionales.
Paso 2 – Configuración mínima (sin campos manuales)
Section titled “Paso 2 – Configuración mínima (sin campos manuales)”El bloque de configuración existente es extenso. Capgo detecta automáticamente tu proyecto y canales, por lo que la configuración mínima es:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, }, },}
export default configReferencia rápida de configuración
Section titled “Referencia rápida de configuración”| Configuración de Ionic AppFlow | Equivalente en Capgo | ¿Necesitas configurarlo? |
|---|---|---|
appId | Gestionado en el panel de Capgo | Se proporciona automáticamente cuando creas el proyecto |
channel / defaultChannel | Reglas de canal en el panel/API | Anulación opcional; los valores predeterminados provienen del servidor |
autoUpdateMethod | autoUpdate: true | Habilitado por defecto |
maxVersions | Política de retención | Configurado centralmente (1 mes por defecto, 24 meses máximo) |
enabled | No requerido | Capgo alterna la disponibilidad por canal |
Paso 3 – Llama a notifyAppReady() (el único hook requerido)
Section titled “Paso 3 – Llama a notifyAppReady() (el único hook requerido)”En la guía de Ionic conectas sync, download y reload, luego ocultas la pantalla de inicio manualmente. Capgo realiza esas acciones de forma nativa. Solo necesitas confirmar que la aplicación está lista:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()Si la confirmación nunca llega, Capgo revierte el Paquete automáticamente.
Eso es todo: Capgo maneja las comprobaciones en segundo plano, la visibilidad de la pantalla de inicio y los Reversiones por ti.
Opcional: ejecuta lógica antes de que se oculte la pantalla de inicio
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Registra diagnósticos o ejecuta código personalizado si es necesario SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()Paso 4 – Estrategias de actualización traducidas
Section titled “Paso 4 – Estrategias de actualización traducidas”AppFlow documenta tres estrategias. Así es como se corresponden con Capgo:
Background (predeterminado)
Section titled “Background (predeterminado)”- AppFlow: configura
autoUpdateMethod = background, llama async()manualmente. - Capgo: habilitado por defecto. No se requiere JavaScript.
Always latest (siempre la última)
Section titled “Always latest (siempre la última)”- AppFlow: agrega un manejador
App.addListener('resume')que descarga y recarga. - Capgo: la actualización automática se ejecuta al reanudar automáticamente. Agrega el manejador solo si deseas una ventana de tiempo personalizada.
Opcional: verificación manual al reanudar
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const bundle = await CapacitorUpdater.download() if (bundle) { await CapacitorUpdater.set({ id: bundle.id }) }})Force Actualizar (actualización forzada)
Section titled “Force Actualizar (actualización forzada)”- AppFlow: solicita al usuario y llama a
reload(). - Capgo: marca el Paquete como “obligatorio” en el panel, luego escucha el evento
majorAvailable(emitido después denotifyAppReady()) para solicitar o forzar a los usuarios dentro de tu aplicación.
Paso 5 – Mapeo de llamadas API
Section titled “Paso 5 – Mapeo de llamadas API”| Método de AppFlow | Equivalente en Capgo | ¿Lo necesitas? |
|---|---|---|
LiveUpdates.sync() | Manejado automáticamente | La actualización automática nativa de Capgo se ejecuta sin una llamada de sincronización manual |
LiveUpdates.download() | CapacitorUpdater.download() | Opcional para flujos personalizados |
LiveUpdates.reload() | CapacitorUpdater.set() | Opcional; los toggles del panel manejan actualizaciones forzadas |
LiveUpdates.getVersion() | CapacitorUpdater.current() | Diagnósticos opcionales |
Paso 6 – Despliega usando la CLI o API de Capgo
Section titled “Paso 6 – Despliega usando la CLI o API de Capgo”Finaliza la migración cargando Paquetes con la CLI o API de Capgo. El flujo de trabajo refleja lo que puedes haber programado antes, pero ahora incluye salvaguardas nativas:
capgo login # autentica una vezcapgo bundle upload \ --path dist \ --channel production # etiqueta automáticamente plataforma/versiónCapgo automáticamente:
- Mantiene registros de auditoría a nivel de dispositivo para cada instalación.
- Envía correos electrónicos proactivos cuando te acercas a los límites del plan.
- Proporciona créditos de ráfaga para que nunca te bloquees en medio de un lanzamiento.
- Publica métricas de latencia para 18 regiones globales en status.capgo.app/history.
Preguntas frecuentes
Section titled “Preguntas frecuentes”¿Por qué AppFlow está cerrando las actualizaciones en vivo?
Section titled “¿Por qué AppFlow está cerrando las actualizaciones en vivo?”Ionic está descontinuando los productos comerciales, incluido AppFlow, para centrarse en su framework de código abierto. Los clientes existentes pueden continuar usando actualizaciones en vivo hasta el 31 de diciembre de 2027, pero no se aceptan nuevas funciones o clientes. Capgo llena ese vacío con una plataforma OTA nativa dedicada.
¿Cuánto tiempo lleva la migración?
Section titled “¿Cuánto tiempo lleva la migración?”La mayoría de los equipos completan el cambio en menos de un día. Conceptos como canales, despliegues y reglas de lanzamiento se mapean directamente, y nuestro equipo proporciona documentación más soporte práctico. En muchos casos, simplemente instalas el Plugin, llamas a notifyAppReady() y cargas tu primer Paquete.
¿Ahorraremos dinero?
Section titled “¿Ahorraremos dinero?”Sí. Las actualizaciones en vivo de AppFlow comienzan en $499/mes. Capgo comienza en $14/mes con precios basados en uso que caen a aproximadamente $0.001 por MAU. También obtienes cifrado, Reversiones automáticos y monitoreo de latencia mundial.
¿Cuándo deberíamos migrar?
Section titled “¿Cuándo deberíamos migrar?”Dado que AppFlow ahora está en modo de mantenimiento, migrar antes te da acceso a la innovación continua de Capgo. Recomendamos cambiar cuando se ajuste a tu calendario de lanzamiento. Nuestro equipo de ingeniería te ayudará a planificar el cambio para que tu CI/CD y despliegues sigan funcionando.
¿Necesitas ayuda?
Section titled “¿Necesitas ayuda?”- Reserva una sesión de migración: cal.com/team/capgo/demo
- Únete a la comunidad: Discord de Capgo
- Rastrea problemas / solicita funciones: github.com/Cap-go/capacitor-updater
Capgo está diseñado para empresas que necesitan actualizaciones delta nativas, Paquetes cifrados e innovación continua. Una vez que migres, puedes eliminar el código de pegamento de AppFlow, confiar en la automatización nativa y seguir enviando sin interrupciones.