Pasar al contenido

Actualizaciones Delta

El sistema de actualizaciones en vivo de Capgo puede entregar actualizaciones de manera más rápida y eficiente enviando solo los archivos modificados, en lugar de todo el paquete de JS.

Esto es especialmente beneficioso para los usuarios con conexiones de red más lentas o medibles, ya que minimiza la cantidad de datos que deben descargarse.

A un segundo beneficio es cuando la aplicación tenga grandes activos que cambian raramente, como imágenes o videos, en comparación con archivos JS comprimidos, se descargará solo una vez.

Cómo funcionan las actualizaciones Delta (Manifiesto)

Sección titulada “Cómo funcionan las actualizaciones Delta (Manifiesto)”

Las actualizaciones Delta (manifiesto) en Capgo se manejan por el plugin Capgo instalado en tu aplicación. Cuando subas una nueva versión de tu aplicación utilizando la --delta bandera, Capgo realiza lo siguiente:

  1. Cada archivo en tu build se sube individualmente
  2. Se generan sumas de verificación para cada archivo
  3. Se crea un nuevo manifiesto json, que enumera todos los archivos y sus sumas de verificación
  4. Este manifiesto se sube a la base de datos de Capgo

Cuando un dispositivo ejecutando tu aplicación busca una actualización, el plugin Capgo recibe el nuevo manifiesto desde el servidor. Lo compara con el que tiene actualmente, identificando los archivos que han cambiado según las sumas de verificación y las rutas de archivo.

El plugin descarga solo los archivos modificados, en lugar de la carpeta JS completa. Reconstruye la nueva versión de la aplicación combinando estos archivos descargados con los archivos inalterados que ya tiene.

Para habilitar las actualizaciones de Delta (manifesto) para tu aplicación Capgo, simplemente utiliza la --delta ventana de terminal

Copiar a portapapeles
npx @capgo/cli@latest bundle upload --delta

Si autoUpdate se establece en un modo de aplicación instantánea ("atInstall", "onLaunch"o "always") en su capacitor.config, el CLI lo detecta. En entornos no interactivos envía actualizaciones Delta (manifest) automáticamente, y en entornos interactivos te solicita confirmación antes de subir. directUpdate config todavía se detecta. Utilice --no-delta para forzar una carga de paquete completa.

  • Archivos vacíos: Los registros CLI Ignoring empty file... y excluye archivos de cero bytes del manifiesto Delta. No falla la carga, por lo que agregar un archivo vacío puede cambiar el paquete resultante sin detener su despliegue. No incluya archivos de cero bytes en rutas de paquete Delta.
  • Espacios en rutas: Las cargas Delta fallan antes de cargar archivos cuando una ruta de paquete contiene un espacio. Renombre el archivo o directorio para eliminar espacios antes de cargar una actualización Delta.

Si desea asegurarse de que todas las cargas sean actualizaciones Delta (manifiesto) y evitar cualquier carga de paquete completo accidental, puede utilizar el --delta-only flag:

ventana de terminal
npx @capgo/cli@latest bundle upload --delta-only

Cuando --delta-only Si se utiliza, Capgo solo subirá archivos individuales y generará un manifiesto. Cualquier dispositivo que no admita actualizaciones de Delta (manifiesto) no podrá descargar la actualización.

Quizás desee utilizar --delta-only si:

  • Siempre deseas utilizar actualizaciones de Delta (manifiesto) y nunca deseas permitir subidas de paquetes completos
  • Estás configurando una pipeline de CI/CD y deseas asegurarte de que todas las subidas automatizadas sean de tipo Delta (manifiesto)
  • Tu aplicación es grande y la banda ancha está limitada, por lo que necesitas minimizar los tamaños de subida y descarga

Si necesita hacer una subida de paquete completo mientras --delta-only está configurado, simplemente ejecute la orden de subida sin --delta-only. Esto sobreescribirá la configuración para esa sola carga, permitiéndote enviar un paquete completo cuando sea necesario.

Si las actualizaciones Delta (manifest) no parecen funcionar (es decir, los dispositivos siempre están descargando el paquete JS completo incluso para cambios pequeños), revisa que:

  • Estás utilizando el --delta flag cada vez que subes una nueva versión
  • Si estás utilizando --delta-only, asegúrate de no haber omitido el --delta flag
  • Tu dispositivo está ejecutando la última versión del plugin Capgo
  • Tu dispositivo tiene una conexión de red estable y puede alcanzar los servidores de Capgo

También puedes utilizar la aplicación web de Capgo para verificar los detalles de tu última carga:

  1. Vaya a la webapp
  2. Haga clic en su aplicación
  3. Haga clic en el número de paquetes de la barra de estadísticas.
  4. Seleccione el último paquete
  5. Verifique el Partial campo tipo de paquete

Si continúa teniendo problemas, por favor, contacte con el soporte de Capgo para obtener asistencia adicional. Pueden verificar los registros del servidor para confirmar que las subidas de Delta (manifest) se están procesando correctamente y que los dispositivos están recibiendo los manifestos actualizados.

¡Eso es todo! La --delta bandera le indica a Capgo que realice las subidas de archivos individuales y la generación de manifestos necesarios para las actualizaciones de Delta (manifest).

Tenga en cuenta que debe utilizar --delta cada vez que subas una nueva versión que deseas que se entregue como una actualización Delta (manifest). Si omites la bandera, Capgo subirá el conjunto de JS completo como un archivo único, y los dispositivos descargarán el conjunto completo incluso si solo ha cambiado una pequeña parte.

Si estás utilizando actualizaciones Delta contexto: Página/área: Página de producto/precios de la empresa. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página enterprise.astro. Mensaje clave `enterprise_delta_updates` (Actualizaciones Delta de la empresa). Capgo Live Updates Actualizaciones en vivo Capgo contexto: Página/área: Página de producto de actualizaciones en vivo. Rol: Etiqueta de IU corta o elemento de navegación. Visto en: página live-update.astro. Conserva los términos de producto/marca y desarrollador exactamente. Mensaje clave `live_update_hero_badge` (Badges de héroe de actualización en vivo). para el flujo de trabajo del producto en Actualizaciones en vivo __CAPGO_KEEP_0__ Resumen para el detalle de implementación en Resumen, Comportamiento de Actualización para el detalle de implementación en Comportamiento de Actualización, y Tipos de Actualización para el detalle de implementación en Tipos de Actualización.