The mejor actualización en vivo es la que sus usuarios apenas notan.
Normalmente eso significa tres cosas:
- El descarga es pequeña.
- La implementación está controlada.
- La recuperación es instantánea si algo sale mal.
El mismo consejo de "mantén OTA delgado" que funciona en el territorio de React Native también se aplica a Capgo. La diferencia es que Capgo da a los equipos de Capacitor un par de palancas adicionales: Actualizaciones delta, canales, devoluciones automáticas, objetivos de versióny cifrado de extremo a extremo opcional y opcionalmente cifrado de extremo a extremo.
Si utilizas ambos, obtienes paquetes más pequeños, instalaciones más rápidas y mucho menos desorden operativo.
El ahorro de peso importa incluso cuando el MAU permanece igual
Un detalle útil específico de Capgo: el MAU de Capgo es efectivamente el número de dispositivos activos mensuales que contactaron el servicio de actualización en los últimos 30 días.
Entonces, 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
- Mejor experiencia con actualizaciones directas
- Menos ancho de banda desperdiciado en lanzamientos fallidos o rechazados
- Radio de explosión más pequeño al probar o etapa un lanzamiento
Las actualizaciones de ahorro de peso 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ía solo archivos que han cambiado entre versiones en lugar de descargar nuevamente el paquete web completo. Eso es el mayor beneficio único 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
Solo 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 delta basada en el manifiesto no podrán descargar esa actualización.
Esto importa aún más si utilizas directUpdate, porque el tiempo entre 'actualización encontrada' y 'aplicación recargada' se vuelve visible para el usuario.
2. Trata los activos como activos, no como equipaje de JavaScript
Los activos grandes son donde los paquetes de OTA se inflan en silencio.
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 embarcada.
- Ten cuidado con las imágenes de marketing, los videos de onboarding y los activos de campaña 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 nuevamente.
Esto es una de las formas más fáciles de mantener Capgo rápido a medida que la aplicación crece. El peor patrón es una pequeña corrección de UI que fuerza a los usuarios a descargar una pila de medios no relacionados.
3. Mantenga los lanzamientos nativos para cambios reales nativos
Capgo updates the web layer: HTML, CSS, JavaScript, and assets loaded at runtime.
No es el canal adecuado para:
- nuevos plugins nativos,
- cambios de permisos,
capacitor.config.tscambios,- cualquier cosa que modifique el estado del proyecto nativo de iOS o Android.
Esa 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.
Utilice 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 normal en la tienda.
Capgo vía
Para iteraciones de capa web seguras:
bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta
Refresque también su línea base nativa regularmente si recientemente agregó una gran cantidad de activos de larga duración. Un nuevo paquete de la tienda incorpora esa nueva línea base, lo que mantiene las diferencias futuras de Capgo 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 canal es la forma más limpia de controlar eso:
stagingpara QAbetapara invitados de pruebaproductionpara 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, combina los canales con versión de destino. Eso evita que los paquetes incompatibles o innecesariamente pesados lleguen a versiones antiguas de binarios.
Para equipos que desean incluso ciclos de revisión más estrechos, Capgo también funciona bien para previstas de PR. Eso 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
La velocidad a la que desea que se aplique una actualización, más disciplinado debe ser su camino de arranque.
El comportamiento de actualización de Capgo se recomienda explícitamente en los docs que se combine con actualizaciones Delta. Eso es el default correcto. directUpdate La segunda valla de seguridad es
La segunda barrera de seguridad es notifyAppReady().
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
If su aplicación no informa que está lista dentro de la ventana de espera predeterminada de 10 segundos, o dentro de lo que notifyAppReady() has establecido en tu configuración de __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ puede marcar esa versión de la aplicació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()Evitar el trabajo lento en el camino crítico durante el arranque - Guardar y restaurar el estado de la aplicación con cuidado si se recarga inmediatamente
- Probar 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 la aplicación lista es digno de relectura. 6. Utilizar canales de actualización internos en lugar de reconstrucciones nativas innecesarias
6. Utilizar canales de actualización internos en lugar de reconstrucciones nativas innecesarias
Muchas veces, los equipos de móviles desperdician tiempo construyendo binarios para cambios que claramente son solo web.
Si el cambio es:
- copia,
- mejoras de interfaz de usuario,
- flujo de onboarding,
- lógica de pantalla de precios,
- conexión de análisis,
- banderas de características,
- presentación de un mensaje o API respuesta de renderizado,
entonces una Capgo actualización es a menudo el artefacto de revisión más rápido.
Eso significa 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: puedes 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 aborda una forma práctica de mantener esto limpio con el tiempo.
7. Mantén separado lo esbelto de lo secreto
Los pequeños paquetes 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:
- habilitar La cifrado de actualización en vivo,
- usar almacenamiento personalizado o entrega autoalojada,
- mantener las llaves privadas solo en CI o flujos de trabajo de operador seguros.
No es que eso haga que el tamaño de la actualización sea irrelevante. Solo significa que deberías optimizar para ambas dimensiones:
- enfócate en velocidad,
- cifrado para control de entrega,
- canales para control de lanzamiento,
- rollback para recuperación.
Un flujo de trabajo práctico “Capgo”
Si desea un modelo de operación por defecto simple, utilice esto:
- Mantenga separadas las rutas de lanzamiento nativo y OTA.
- Subir cambios de JS con
--deltapor defecto. - Utilice
stagingybetacanales antesproduction. - Mantén actualiza estadísticas y registros después de la implementación, no solo antes de ella.
- Convierte los PRs en previsualizaciones instalables cuando no es necesario una compilación nativa.
- Mantén grandes archivos multimedia que cambian con frecuencia fuera del paquete siempre que sea posible.
- Refresca la base nativa después de un crecimiento significativo de activos o cambios nativos.
- Trata
notifyAppReady()y el comportamiento de rollback como parte de la ingeniería de lanzamiento, no como trivia de configuración.
Esa combinación se mantiene rápida mucho más tiempo que el enfoque común “sube solo lo que cambió”.
Pensamiento final
Para Capgo equipos, “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 piense en OTA de esa manera, sus actualizaciones permanecen rápidas incluso a medida que la aplicación, el equipo y la base de usuarios crecen.
Sigue adelante desde Cómo mantener las actualizaciones de Capgo delgadas y rápidas
Si está utilizando Cómo mantener las actualizaciones de Capgo delgadas y rápidas para planificar la ruta de los canales y la implementación de la etapa de lanzamiento, conecte con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Solución de Pruebas de Beta para el flujo de trabajo del producto en la Solución de Pruebas 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.