Saltar al contenido principal
Guía de tutoría

Cómo mantener actualizaciones de Capgo ligero y rápido

Una guía práctica de Capgo para actualizaciones en vivo más pequeñas y seguras: paquetes delta, despliegue basado en canales, refrescos de línea base nativos, vistas previas de PR y guarderías de actualizaciones directas.

Martin Donadieu

Martin Donadieu

Gerente de contenido

Cómo mantener actualizaciones de Capgo ligero y rápido

La mejor actualización en vivo es la que apenas nota su usuario.

Normalmente eso significa tres cosas:

  1. La descarga es pequeña.
  2. El despliegue está controlado.
  3. La recuperación es instantánea si algo sale mal.

El mismo consejo de mantener actualizaciones OTA 'lean' que funciona en el territorio de React Native también se aplica a Capgo. La diferencia es que Capgo da a los equipos Capacitor un par de palancas adicionales: Actualizaciones delta, contexto: Página/área: Página de producto/preciación de empresa. 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áticasobjetivos de versión , y opcional.

cripografía de extremo a extremo

Si utiliza esos juntos, obtiene paquetes más pequeños, instalaciones más rápidas y mucho menos desorden operativo.

One useful Capgo-specific detail: Capgo MAU is effectively the number of monthly active devices that contacted the update service in the last 30 days.

Un detalle útil específico de __CAPGO_KEEP_0__: el MAU de __CAPGO_KEEP_1__ es efectivamente el número de dispositivos activos mensuales que contactaron con el servicio de actualización en los últimos 30 días.

  • Descargas más rápidas en celular o Wi-Fi débil
  • Mejor experiencia con actualizaciones directas
  • Menos ancho de banda desperdiciado en lanzamientos fallidos o revertidos
  • Radio de explosión más pequeño al probar o estrenar un lanzamiento

Las actualizaciones ágiles son realmente sobre velocidad, seguridad y disciplina operativa.

1. Establecer como predeterminado las actualizaciones Delta

Si solo haces una cosa, haz esto.

Capgo’s actualizaciones Delta envían solo archivos que cambiaron entre versiones en lugar de descargar de nuevo 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 tu paso de QA esté hecho:

bunx @capgo/cli@latest bundle upload --channel production --delta

If quieres que CI se mantenga estricto, utiliza --delta-only de modo que nadie accidentalmente regrese a las 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 directUpdate, porque el tiempo entre “se encontró la actualización” y “se recargó la aplicación” se vuelve visible para el usuario.

2. Trata a los activos como activos, no como bagaje de JavaScript

Los activos grandes son donde los paquetes OTA se vuelven silenciosamente engrosados.

Algunas reglas prácticas:

  • No incluyas imágenes grandes o medios dentro de JavaScript cuando un archivo de activo normal lo hará.
  • Mantén el contenido que cambia con frecuencia en tu 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 que se reemplazan cada lanzamiento.
  • Dejen que los activos estables sigan estables. Con las actualizaciones de Delta, los archivos inalterados se reutilizan en lugar de descargarse nuevamente.

Esta 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 la interfaz de usuario que fuerza a los usuarios a descargar una pila de medios no relacionados.

3. Mantenga las versiones nativas 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.ts cambios
  • anything que modifique el estado del proyecto nativo de iOS o Android.

Esa línea importa para el rendimiento también. Si sigue metiendo cambios estructurales importantes en la vía de actualización OTA, su estrategia de actualización se vuelve más pesada y más riesgosa con el tiempo.

Utilice dos vías de lanzamiento con propósito:

Vía nativa

Para cambios de plugins, cambios de permisos y configuración nativa:

bun run build
bunx cap sync

Entonces envíe una liberación de tienda normal.

Capgo línea

Para iteración de capa web segura:

bun run build
bunx @capgo/cli@latest bundle upload --channel production --delta

También refresque su línea base nativa con frecuencia si agregó recientemente muchos activos de larga vida. Una construcción de tienda fresca 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 'delgada' 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:

  • staging para QA
  • beta para probadores invitados
  • production para todos
  • hotfix para la recuperación de emergencia

Un flujo simple se ve así:

  1. Subir a staging.
  2. Validar en dispositivos reales.
  3. Desplegar gradualmente, ya sea a través de canales controlados o de un despliegue porcentual.
  4. Revertir inmediatamente si la salud disminuye.

Si su aplicación tiene varias bases nativas en el aire, pair los canales con la configuración de versión . Esto mantiene los paquetes incompatibles o innecesariamente pesados alejados de las versiones antiguas.

Para los equipos que desean incluso más estrictos ciclos de revisión, Capgo también funciona bien para visionados de PRQue eso permite a los productores, QA y partes interesadas probar cambios de JS sin tener que esperar a nuevos builds internos de TestFlight o Play.

5. Si habilitas actualizaciones directas, optimiza el arranque duro

La velocidad a la que deseas que se aplique una actualización, más disciplinado debe ser tu camino de arranque.

Capgo comportamiento de actualización documentos recomiendan explícitamente la combinación directUpdate con actualizaciones Delta. Eso es la configuración por defecto correcta.

La segunda barrera es notifyAppReady().

import { CapacitorUpdater } from '@capgo/capacitor-updater'

CapacitorUpdater.notifyAppReady()

Si tu aplicación no informa que está lista dentro de la ventana de espera por defecto de 10 segundos, o dentro de lo que notifyAppReady() has 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:

  • contexto: fragmento de texto HTML de una cadena de Capgo UI más larga (clave de padre `appflow_migration_step2`). Página/área: Comparación y migración de Appflow / marketing de copia de página. Rol: Oración de copia de sitio web. Visto en: página ionic-appflow.astro. Preserva términos de producto/marca y términos de desarrollador de Capgo exactamente. Clave de mensaje `appflow_migration_step2` (Paso 2 de la migración de Appflow). notifyAppReady() en el lugar correcto
  • Evite realizar trabajo de arranque lento en el camino crítico
  • Guarde y restaure el estado de la aplicación con cuidado si se recarga inmediatamente
  • Pruebe escenarios de red lenta y dispositivos de bajo rendimiento antes de un lanzamiento amplio

Si no lo ha revisado recientemente, el la guía de notifyAppReady es recomendable leer de nuevo.

6. Utilice canales de actualización internos en lugar de reconstrucciones nativas innecesarias

Muchos 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 incorporación
  • lógica de pantalla de precios
  • conexión de análisis
  • banderas de características
  • rendimiento de respuesta o API

luego, una actualización de Capgo es a menudo el artefacto de revisión más rápido.

Entonces, hay 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 OTA sin romper la frontera nativa/web.

Nuestra guía sobre estadía 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

Paquetes pequeños y paquetes seguros resuelven problemas diferentes.

Los canales control la elegibilidad. No hacen que un paquete sea confidencial por sí mismos.

Si necesita garantías de entrega más fuertes:

Eso no hace que el tamaño de la actualización sea irrelevante. Solo significa que debe optimizar para ambas dimensiones:

  • delgado para la velocidad
  • cifrado para el control de entrega
  • canales para el control de lanzamiento
  • devolución a la recuperación.

A un flujo de trabajo práctico ‘Capgo’

Si deseas un modelo de operación por defecto simple, utiliza esto:

  1. Mantén separadas las rutas de lanzamiento nativas y OTA.
  2. Carga cambios de JS con --delta por defecto.
  3. Utiliza staging y beta canales antes de production.
  4. Observa estadísticas y registros de actualización después de la implementación, no solo antes.
  5. Convierte PRs en vistas previas instalables cuando un build nativo no es necesario.
  6. Mantenga los grandes archivos multimedia que cambian con frecuencia fuera de la paquete donde sea posible.
  7. Refresque la base nativa después de un crecimiento significativo de activos o cambios nativos.
  8. Tome 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 cambió’.

Pensamiento final

Para los equipos Capgo, ‘lean 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 de carga, canales para el tamaño de lanzamiento y devoluciones para el tamaño de 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.

Siga leyendo desde Cómo mantener Capgo actualizaciones Lean y Rápidas

Si está utilizando Cómo mantener Capgo actualizaciones Lean y Rápidas para planificar la ruta de canal y la implementación en etapas, conecte con Canales para los detalles de implementación en Canales, Canales para los detalles de implementación en Canales, Canales Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión. Escrito por

Actualizaciones en vivo para aplicaciones Capacitor

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Cuando un error de capa web está vivo, envíe la corrección a través de __CAPGO_KEEP_0__ en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

Contesto: Página/área: Sitio web de marketing de Capgo. Rol: Descripción de apoyo de la página o meta descripción. Visto en: componente GetStarted.astro. Preservar términos de producto/marca y desarrollador de Capgo exactamente. Mensaje clave `instant_updates_for_capacitor_apps_description` (Descripción de Actualizaciones Instantáneas Para Aplicaciones Capacitor).

Apoyo humano de Martin

Capgo gives you the best insights you need to create a truly professional mobile app.