Saltar al contenido

Actualizaciones de 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 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.

Un segundo beneficio es cuando la aplicación tenga activos grandes que cambian raramente, como imágenes o videos, comparados con archivos JS comprimidos, se descargan solo una vez.

Delta (manifest) updates in Capgo are handled by the Capgo plugin installed in your app. When you upload a new version of your app using the --delta flag, Capgo does the following:

  1. Se generan sumas de verificación para cada archivo
  2. Se crea un nuevo archivo json de manifest, que lista todos los archivos y sus sumas de verificación
  3. Este manifest se sube a la base de datos de __CAPGO_KEEP_0__
  4. Cuando un dispositivo ejecutando tu aplicación busca una actualización, el plugin Capgo recibe el nuevo manifest desde el servidor. Compara este manifest con el que tiene actualmente, identificando los archivos que han cambiado basándose en las sumas de verificación y los caminos de archivo.

When a device running your app checks for an update, the Capgo plugin receives the new manifest from the server. It compares this manifest to the one it currently has, identifying which files have changed based on the checksums and file paths.

Manifesto

Para habilitar las actualizaciones de Delta (manifest) para tu aplicación Capgo, simplemente utiliza la --delta bandera cuando subas una nueva versión:

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

Si autoUpdate está configurado en un modo de aplicación instantánea ("atInstall", "onLaunch"o "always") en tu capacitor.configel CLI lo detecta. En entornos no interactivos, envía actualizaciones de Delta (manifest) automáticamente, y en entornos interactivos, te pide confirmación antes de subir. Legado 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 Delta (de manifiesto) no podrá descargar la actualización.

Puede querer utilizar --delta-only si:

  • Siempre deseas utilizar actualizaciones Delta (de 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 Delta (de manifiesto)
  • Tu aplicación es grande y la banda ancha está limitada, por lo que necesitas minimizar los tamaños de subida/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 carga única, permitiéndote enviar un paquete completo cuando sea necesario.

Si las actualizaciones de 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-onlyasegúrate de no haber omitido el --delta flag
  • Tu dispositivo está ejecutando la versión más reciente del plugin Capgo
  • Tu dispositivo tiene una conexión de red estable y puede alcanzar los servidores Capgo

También puedes utilizar la aplicación web 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 every time you upload a new version that you want to be delivered as a Delta (manifest) update. If you omit the flag, Capgo will upload the entire JS bundle as a single file, and devices will download the whole bundle even if only a small part has changed.

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 la implementación detallada en Resumen. Características Para la implementación de detalles 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.