Saltar al contenido

Actualizaciones Delta

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 JS.

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

A un segundo beneficio es cuando la aplicación tenga activos grandes 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 compilación 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 verifica una actualización, el plugin Capgo recibe el nuevo manifiesto desde el servidor. Compara este manifiesto con el que tiene actualmente, identificando los archivos que han cambiado según las sumas de verificación y los caminos de archivo.

El plugin descarga solo los archivos modificados, en lugar de todo el paquete JS. 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 (manifiesto) para tu aplicación Capgo, simplemente utiliza la --delta ventana de terminal

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

está configurado en un modo de aplicación instantánea ( autoUpdate o"atInstall", "onLaunch") "always"en tu capacitor.configla CLI detecta esto. En entornos no interactivos envía actualizaciones Delta (manifesto) automáticamente, y en entornos interactivos te pide confirmación antes de subir. directUpdate config de legado todavía se detecta. Utiliza --no-delta para forzar una subida de paquete completa.

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

If deseas asegurarte de que todas las subidas sean actualizaciones Delta (manifest) y evitar cualquier carga accidental de paquetes completos, puedes utilizar el --delta-only flag:

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

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

Puedes utilizar --delta-only si:

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

Si necesitas hacer una carga de paquete completo mientras --delta-only se ha configurado, simplemente ejecuta el comando de carga sin --delta-only. Esto sobreescribirá la configuración para esa carga única, 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 la --delta flag cada vez que subes una nueva versión
  • Si estás utilizando --delta-only, asegúrate de no haber omitido la --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 Capgo

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

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

Si continúa teniendo problemas, por favor, póngase en contacto con el soporte de Capgo para obtener asistencia adicional. Ellos pueden verificar los registros del servidor para confirmar que las cargas 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 cargas de archivos individuales y la generación de manifestos necesarios para las actualizaciones de Delta (manifest).

Nota que debes 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 todo el conjunto incluso si solo se ha cambiado una pequeña parte.

Si estás utilizando Actualizaciones delta conectarla con Capgo Live Updates para el flujo de trabajo del producto en Capgo Actualizaciones en vivo, Resumen para el detalle de implementación en Resumen Características para el detalle de implementación en Características 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.