The mejor actualización en vivo es la que sus usuarios apenas notan.
Normalmente eso significa tres cosas:
- La descarga es pequeña.
- El despliegue está controlado.
- La recuperación es instantánea si algo sale mal.
The same “keep OTA lean” advice that works in React Native land also applies to Capgo. The difference is that Capgo gives Capacitor teams a few extra levers: Actualizaciones delta, contexto: Página/área: Página de producto de empresa/precio. Rol: Etiqueta de interfaz de usuario corta o elemento de navegación. Visto en: página enterprise.astro. Clave de mensaje `enterprise_delta_updates` (Actualizaciones de delta de empresa)., canales, devoluciones automáticasapuntalamiento de versión , y opcionalmente.
Si los utilizas juntos, obtendrás paquetes más pequeños, instalaciones más rápidas y mucho menos desorden operativo.
El enfoque en la eficiencia importa incluso cuando el número de usuarios activos mensuales (MAU) sigue siendo el mismo.
Un detalle útil específico de Capgo: el MAU de Capgo es efectivamente el número de dispositivos activos mensuales que contactaron con el servicio de actualizaciones en los últimos 30 días.
Reducir un paquete no es principalmente una trampa para reducir el conteo de MAU. Importa porque mejora las partes que los usuarios y los equipos sienten realmente:
- Descargas más rápidas en redes móviles o Wi-Fi débiles
- Una mejor experiencia con actualizaciones directas
- Menos ancho de banda desperdiciado en lanzamientos fallidos o revertidos
- Un radio de acción más pequeño cuando se prueba o se estagia un lanzamiento
Las actualizaciones eficientes son realmente sobre velocidad, seguridad y disciplina operativa.
1. Establece actualizaciones Delta como predeterminado
Si haces solo una cosa, haz esto.
Capgo’s Actualizaciones Delta envían solo archivos que han cambiado entre versiones en lugar de descargar nuevamente el paquete web completo. Eso es el mayor beneficio individual para el rendimiento de OTA rutinario.
bun run build
bunx @capgo/cli@latest bundle upload --channel staging --delta
Cuando se complete tu paso de QA:
bunx @capgo/cli@latest bundle upload --channel production --delta
Si deseas que CI se mantenga estricto, utiliza --delta-only para que nadie caiga accidentalmente en subidas de paquetes completos:
bunx @capgo/cli@latest bundle upload --channel production --delta-only
Sólo utiliza --delta-only cuando tu flota de producción admite actualizaciones Delta. En versiones de plugins mixtos, los dispositivos más antiguos que no admiten la entrega de deltas basada en manifestos no podrán descargar esa actualización.
Esto importa aún más si utilizas directUpdateporque el tiempo entre “actualización encontrada” y “aplicación recargada” se vuelve visible para el usuario.
2. Trata los activos como activos, no como bagaje de JavaScript
Los activos grandes son donde los paquetes de OTA se vuelven silenciosamente inflados.
Algunas reglas prácticas:
- No incluya imágenes o medios grandes dentro de JavaScript cuando un archivo de activo normal será suficiente.
- Mantenga el contenido que cambia con frecuencia en su propio CDN o API si no necesita vivir dentro del paquete de la aplicación enviada.
- Ten cuidado con las imágenes de marketing, los videos de onboarding y los activos de campaña uno a uno que se reemplazan cada lanzamiento.
- Deje que los activos estables permanezcan estables. Con las actualizaciones Delta, los archivos inalterados se reutilizan en lugar de descargarse de nuevo.
Esto es una de las formas más fáciles de mantener Capgo rápido a medida que su aplicación crece. El peor patrón es una pequeña corrección de interfaz que fuerza a los usuarios a descargar una pila de medios no relacionados.
3. Mantenga los lanzamientos nativos para cambios reales nativos
Capgo actualiza la capa web: HTML, CSS, JavaScript y activos cargados en tiempo de ejecución.
No es el canal adecuado para:
- nuevos plugins nativos
- cambios de permisos
capacitor.config.tscambios- anything that modifies iOS or Android native project state.
Esta línea también importa para el rendimiento. Si sigue introduciendo cambios estructurales importantes en la vía de actualización OTA, su estrategia de actualización se vuelve más pesada y riesgosa con el tiempo.
Use dos vías de liberación con propósito:
Vía nativa
Para cambios de plugins, cambios de permisos y configuración nativa:
bun run build
bunx cap sync
Luego envíe una liberación de tienda normal.
Capgo vía
Para iteraciones de capa web seguras:
bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta
También refresque su línea base nativa regularmente si agregó recientemente muchos activos de larga vida. Una nueva compilación de tienda incorpora esa nueva línea base, lo que mantiene las diferencias de Capgo futuras más pequeñas.
4. Utilice canales para mantener el tamaño de la actualización pequeño
Una ‘actualización ligera’ no solo se trata de megabytes. También se trata de cuántos dispositivos reciben la actualización antes de saber que es buena.
Capgo’s sistema de canales es la forma más limpia de controlar eso:
stagingpara QAbetapara los probadores invitadosproductionpara todoshotfixpara la recuperación de emergencia
Un flujo simple se parece a esto:
- Subir a
staging. - Validar en dispositivos reales.
- Desplegar gradualmente, ya sea a través de canales controlados o de un despliegue porcentual.
- Revertir inmediatamente si la salud disminuye.
Si tu aplicación tiene varias bases nativas en el mundo libre, combina los canales con versión dirigida. Esto mantiene bundles incompatibles o innecesariamente pesados alejados de binarios más antiguos.
Para equipos que desean loops de revisión aún más estrechos, Capgo también funciona bien para vistas previas de PR. Esto permite a los productores, QA y partes interesadas probar cambios de JS sin tener que esperar a nuevos TestFlight o Play internos.
5. Si habilita actualizaciones directas, optimice el arranque duro
Cuanto más rápido desee una actualización aplicada, más disciplinado debe ser su camino de arranque.
Capgo’s comportamiento de actualización documentación recomienda explícitamente la combinación directUpdate con actualizaciones Delta. Eso es el valor por defecto correcto.
La segunda barandilla es notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
If su app no reporta listo dentro de la ventana de espera predeterminada de 10 segundos, o dentro de lo que notifyAppReady() tú hayas configurado en tu __CAPGO_KEEP_0__ config, __CAPGO_KEEP_1__ puede marcar esa versión como inválida y restaurar la versión anterior buena. Ese comportamiento de rollback es lo que deseas en producción, pero también significa que debes mantener el arranque limpio: appReadyTimeout you set in your Capacitor config, Capgo can mark that bundle invalid and restore the previous good version. That rollback behavior is what you want in production, but it also means you should keep startup clean:
- en el lugar correcto
notifyAppReady()Evita el trabajo lento en el camino crítico - Guarda y restaura el estado de la app con cuidado si se recarga inmediatamente
- Prueba escenarios de red mala y dispositivos de bajo rendimiento antes de un lanzamiento amplio
- Si no lo has revisado recientemente, la
guía de notificación de lista es digno de leer nuevamente. 6. Utiliza canales de actualización internos en lugar de reconstrucciones nativas innecesarias
Si su app no reporta listo dentro de la ventana de espera predeterminada de 10 segundos, o dentro de lo que tú hayas configurado en tu __CAPGO_KEEP_0__ config, __CAPGO_KEEP_1__ puede marcar esa versión como inválida y restaurar la versión anterior buena. Ese comportamiento de rollback es lo que deseas en producción, pero también significa que debes mantener el arranque limpio:
A muchas equipos de móviles desperdician tiempo construyendo binarios para cambios que claramente son solo web.
Si el cambio es:
- copiar
- polish de interfaz de usuario
- flujo de inicio de sesión
- lógica de pantalla de precios
- conexión de análisis
- banderas de características
- renderizado de respuesta de API o solicitud
entonces una actualización de Capgo a menudo es el artefacto de revisión más rápido.
Por lo tanto, menos reconstrucciones nativas, menos cambios en TestFlight y un ciclo de retroalimentación más estrecho para el equipo. Es uno de los beneficios menos utilizados de Capgo: puede mover más trabajo de revisión y QA a la vía de actualización OTA sin romper la frontera nativa/web.
Nuestra guía sobre pruebas con un ID de aplicación móvil cubre una forma práctica de mantener esto limpio con el tiempo.
7. Mantén separado lo esbelto de lo secreto
Los paquetes pequeños y los paquetes seguros resuelven problemas diferentes.
Los canales controlan la elegibilidad. No hacen que un paquete sea confidencial por sí mismos.
Si necesita garantías de entrega más fuertes:
- activar cifrado de actualizaciones en vivo,
- utilizar almacenamiento personalizado o entrega autoalojada,
- mantener las llaves privadas solo en CI o flujos de trabajo de operador seguros.
Eso no hace que el tamaño de la actualización sea irrelevante. Solo significa que deberías optimizar para ambas dimensiones:
- por velocidad
- seguro para control de entrega
- canales para control de lanzamiento
- devolución para recuperación
Un flujo de trabajo práctico ‘Capgo’
Si deseas un modelo de operación por defecto simple, utiliza esto:
- Mantén separadas las rutas de lanzamiento nativo y OTA.
- Sube cambios de JS con
--deltapor defecto. - Usa
stagingybetalos canales antesproduction. - Ver actualice estadísticas y registros después de la implementación, no solo antes de ella.
- Convirta PRs en vistas previas instalables cuando no sea necesario una compilación nativa.
- Mantenga grandes y cambiantes medios fuera de la paquete donde sea posible.
- Refresque la base nativa después de un crecimiento significativo de activos o cambios nativos.
- Trate
notifyAppReady()y el comportamiento de devolución como parte de la ingeniería de lanzamiento, no como trivia de configuración.
Esta combinación permanece rápida mucho más tiempo que el enfoque común de ‘subir solo lo que ha cambiado’.
Pensamiento final
Para los equipos Capgo, ‘delgado y rápido’ no es solo un problema de tamaño de paquete.
es un problema de diseño de lanzamiento.
Utilice actualizaciones Delta para el tamaño del payload, canales para el tamaño de la implementación y reversiones para el tamaño de la falla. Una vez que pienses en OTA de esa manera, tus actualizaciones permanecen rápidas incluso a medida que la aplicación, el equipo y la base de usuarios crecen.
Continúa desde Cómo mantener actualizaciones de Capgo ligero y rápido.
Si estás utilizando Cómo mantener actualizaciones de Capgo ligero y rápido. para planificar la ruta de los canales y la implementación en etapas, conectéalo con Canalización contexto: nombre de la característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de UI corta o elemento de navegación. Visto en: página soluciones/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label). para los detalles de implementación en Canalización, Canalización contexto: nombre de la característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de UI corta o elemento de navegación. Visto en: página soluciones/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label). para los detalles de implementación en Canalización, Canalización de pruebas de beta para el flujo de trabajo del producto en la Solución de Pruebas de Beta, y Solución de Enfoque en Versión para el flujo de trabajo del producto en la Solución de Enfoque en Versión.