Saltar al contenido

Inicio

GitHub

Puedes utilizar nuestra configuración asistida por IA para instalar el complemento. Agrega las Capgo habilidades a tu herramienta de IA utilizando el siguiente comando:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Luego utiliza el siguiente prompt:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-updater` plugin in my project.

Si prefieres la configuración manual, instala el complemento ejecutando los siguientes comandos y sigue las instrucciones específicas del plataforma a continuación:

Ventana de terminal
bun add @capgo/capacitor-updater
bunx cap sync

Para la mayoría de los usuarios, recomendamos seguir la guía de inicio rápido principal que cubre tanto la instalación del complemento como Capgo la integración en la nube.

Esta guía de inicio rápido se centra en los detalles técnicos del complemento para usuarios avanzados que desean comprender los mecanismos subyacentes o implementar actualizaciones autoadministradas.

El complemento de actualización Capacitor permite actualizaciones en el aire (OTA) para sus aplicaciones Capacitor. Esto le permite enviar actualizaciones a su aplicación sin pasar por revisiones de tiendas de aplicaciones.

  1. Descargar Paquete: El plugin descarga paquetes de actualización (archivos ZIP que contienen tus activos web)
  2. Extracción: Los paquetes se extraen al almacenamiento del dispositivo
  3. Recarga caliente: La aplicación se cambia a el nuevo paquete sin requerir reiniciar
  4. Fallo de respaldo: Si una actualización falla, la aplicación reversiona a la versión anterior que funcionaba
Sección titulada “1. Modo de actualización automática (Recomendado)”

La forma más sencilla de usar el plugin con la gestión automática de actualizaciones:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically
// Configure in capacitor.config.ts

Agregar a tu capacitor.config.ts:

{
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground',
updateUrl: 'https://your-update-server.com/api/updates'
}
}
}

Para un control avanzado sobre el proceso de actualización:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an update
const bundle = await CapacitorUpdater.download({
url: 'https://your-server.com/updates/v1.0.1.zip',
version: '1.0.1'
});
// Set the bundle (will be used on next app start)
await CapacitorUpdater.set({
id: bundle.id
});
// Or reload immediately
await CapacitorUpdater.reload();

No se requiere ninguna configuración adicional. El plugin funciona de forma predeterminada.

No se requiere ninguna configuración adicional. El plugin funciona de forma predeterminada.

import { CapacitorUpdater } from '@capgo/capacitor-updater';
const bundle = await CapacitorUpdater.download({
url: 'https://example.com/update.zip',
version: '1.0.1'
});
console.log('Downloaded bundle:', bundle.id);
// Set bundle to be used on next app start
await CapacitorUpdater.set({
id: bundle.id
});
// Reload app immediately with new bundle
await CapacitorUpdater.reload();
const { bundles } = await CapacitorUpdater.list();
console.log('Available bundles:', bundles);
await CapacitorUpdater.delete({
id: 'bundle-id'
});
const { bundle } = await CapacitorUpdater.current();
console.log('Current bundle:', bundle.version);

Escuchar eventos de actualización:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progress
CapacitorUpdater.addListener('download', (info) => {
console.log('Download progress:', info.percent);
});
// Listen for download completion
CapacitorUpdater.addListener('downloadComplete', (bundle) => {
console.log('Download complete:', bundle.version);
});
// Listen for update failures
CapacitorUpdater.addListener('updateFailed', (error) => {
console.error('Update failed:', error);
});
// Listen for successful updates
CapacitorUpdater.addListener('updateAvailable', (info) => {
console.log('Update available:', info.version);
});

Configurar el complemento en tu capacitor.config.ts:

{
plugins: {
CapacitorUpdater: {
// Auto-update settings
autoUpdate: 'atBackground',
updateUrl: 'https://api.example.com/updates',
// Update behavior
resetWhenUpdate: true,
// Version settings
version: '1.0.0',
// Security
allowModifyUrl: false,
// Stats collection
statsUrl: 'https://api.example.com/stats',
// Channel (for Capgo cloud)
defaultChannel: 'production'
}
}
}

La forma más fácil de empezar:

// Install the Capgo CLI
bun add -g @capgo/cli
// Login to Capgo
npx @capgo/cli login
// Upload your first bundle
npx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloud

Consulte el guía de inicio rápido principal para obtener más detalles.

Alquila tu propio servidor de actualizaciones:

// Configure your update endpoint
{
plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground',
updateUrl: 'https://your-server.com/api/check-update'
}
}
}

Tu servidor debe devolver:

{
"version": "1.0.1",
"url": "https://your-server.com/updates/1.0.1.zip"
}

Consulte Modo Autoalojado para obtener detalles completos.

Control completo sobre las actualizaciones:

import { CapacitorUpdater } from '@capgo/capacitor-updater';
async function checkAndUpdate() {
// Check for updates from your server
const response = await fetch('https://api.example.com/check-update');
const { version, url } = await response.json();
// Download the update
const bundle = await CapacitorUpdater.download({
url,
version
});
// Notify bundle is ready
await CapacitorUpdater.notifyAppReady();
// Set as next version
await CapacitorUpdater.set({ id: bundle.id });
// Reload when ready
await CapacitorUpdater.reload();
}
  • Siempre llamar notifyAppReady() cuando su aplicación se carga con éxito
  • Prueba las actualizaciones exhaustivamente antes de enviarlas a producción
  • Implementar un manejo de errores adecuado para fallos de red
  • Usar números de versión consistentemente
  • Mantén pequeños los tamaños de paquete para descargas más rápidas
  • Monitorea las tasas de éxito de actualizaciones

Pasos siguientes

Pasos siguientes
  • Sección titulada “Apoyo” Problemas conocidos
  • GitHub Discussions __CAPGO_KEEP_0__ Discusiones
  • - Apoyo de la comunidad Discord (no traducido: Discord es un nombre de marca y no debe ser traducido o modificado en ninguna forma.) - Chat en tiempo real (no traducido: Real-time es un nombre de marca y no debe ser traducido o modificado en ninguna forma.)

Si estás utilizando Inicio para planificar el trabajo de plugin nativo, conecta con Usando @capgo/capacitor-actualizador para la capacidad nativa en Usando @capgo/capacitor-actualizador, Directorio de Plugin Capgo para el flujo de trabajo del producto en Directorio de Plugin Capgo, Plugins de Capacitor por Capgo para el detalle de implementación en Plugins de Capacitor por Capgo, Agregar o Actualizar Plugins para los detalles de implementación en Agregar o Actualizar Plugins, y Alternativas de Plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas de Plugins de Ionic Enterprise.