Actualizaciones Delta
El sistema de Actualización en Vivo de Capgo puede entregar actualizaciones más rápido y eficientemente enviando solo los archivos modificados, en lugar del Paquete JS completo.
Esto es especialmente beneficioso para usuarios en conexiones de red más lentas o con datos limitados, ya que minimiza la cantidad de datos que necesitan descargarse.
Un segundo beneficio es cuando la aplicación tiene activos grandes que cambian raramente, como imágenes o videos, en comparación con archivos JS comprimidos se descargarán solo una vez.
Cómo Funcionan las Actualizaciones Diferenciales
Section titled “Cómo Funcionan las Actualizaciones Diferenciales”Las actualizaciones diferenciales en Capgo son manejadas por el Plugin de Capgo instalado en tu aplicación. Cuando subes una nueva versión de tu aplicación usando la bandera --partial, Capgo hace lo siguiente:
- Cada archivo en tu compilación se sube individualmente
- Se generan checksums para cada archivo
- Se crea un nuevo manifiesto JSON, listando todos los archivos y sus checksums
- Este manifiesto se sube a la base de datos de Capgo
Cuando un dispositivo ejecutando tu aplicación verifica una actualización, el Plugin de Capgo recibe el nuevo manifiesto del servidor. Lo compara con el manifiesto que tiene actualmente, identificando qué archivos han cambiado basándose en los checksums y la ruta de archivos.
El Plugin luego descarga solo los archivos modificados, en lugar del Paquete JS completo. Reconstruye la nueva versión de la aplicación combinando estos archivos descargados con los archivos sin cambios que ya tiene.
Habilitar Actualizaciones Diferenciales
Section titled “Habilitar Actualizaciones Diferenciales”Para habilitar actualizaciones diferenciales para tu aplicación Capgo, simplemente usa la bandera --partial al subir una nueva versión:
Forzar Actualizaciones Diferenciales
Section titled “Forzar Actualizaciones Diferenciales”Si quieres asegurar que todas las cargas sean actualizaciones diferenciales y prevenir cargas accidentales de Paquetes completos, puedes usar la bandera --partial-only:
npx @capgo/cli@latest bundle upload --partial-onlyCuando se usa --partial-only, Capgo solo subirá archivos individuales y generará un manifiesto. Cualquier dispositivo que no soporte parcial no podrá descargar la actualización.
Podrías querer usar --partial-only si:
- Siempre quieres usar actualizaciones diferenciales y nunca quieres permitir cargas de Paquetes completos
- Estás configurando un pipeline de CI/CD y quieres asegurar que todas las cargas automatizadas sean diferenciales
- Tu aplicación es grande y el ancho de banda está limitado, por lo que necesitas minimizar los tamaños de carga/descarga
Si necesitas hacer una carga de Paquete completo mientras --partial-only está establecido, simplemente ejecuta el comando de carga sin --partial-only. Esto anulará la configuración para esa única carga, permitiéndote enviar un Paquete completo cuando sea necesario.
Solución de Problemas
Section titled “Solución de Problemas”Si las actualizaciones diferenciales no parecen estar funcionando (es decir, los dispositivos siempre están descargando el Paquete JS completo incluso para pequeños cambios), verifica dos veces que:
- Estés usando la bandera
--partialcada vez que subes una nueva versión - Si usas
--partial-only, asegúrate de no haber omitido accidentalmente la bandera--partial - Tu dispositivo esté ejecutando la última versión del Plugin de Capgo
- Tu dispositivo tenga una conexión de red estable y pueda alcanzar los servidores de Capgo
También puedes usar la aplicación web de Capgo para verificar los detalles de tu última carga:
- Ve a la aplicación web
- Haz clic en tu aplicación
- Haz clic en el número de Paquetes de la barra de estadísticas.
- Selecciona el último Paquete
- Verifica el campo
Partial
Si continúas teniendo problemas, contacta al soporte de Capgo para más asistencia. Pueden verificar los registros del servidor para confirmar que tus cargas parciales se están procesando correctamente y que los dispositivos están recibiendo los manifiestos actualizados.
¡Eso es todo! La bandera --partial le dice a Capgo que realice las cargas de archivos individuales y la generación de manifiesto necesaria para actualizaciones diferenciales.
Ten en cuenta que necesitas usar --partial cada vez que subes una nueva versión que quieres que se entregue como una actualización diferencial. Si omites la bandera, Capgo subirá el Paquete JS completo como un solo archivo, y los dispositivos descargarán todo el Paquete incluso si solo una pequeña parte ha cambiado.