Passer à la navigation

Démarrage

Fenêtre de terminal
bun add @capgo/capacitor-updater
bunx cap sync

Pour la plupart des utilisateurs, nous recommandons de suivre le guide de démarrage rapide principal qui couvre à la fois l'installation du plugin et Capgo l'intégration cloud.

Ce guide de démarrage se concentre sur les détails techniques du plugin pour les utilisateurs avancés qui souhaitent comprendre les mécanismes sous-jacents ou mettre en œuvre des mises à jour auto-hébergées.

Le plugin de mise à jour Capacitor permet des mises à jour hors ligne (OTA) pour vos applications Capacitor. Cela vous permet de pousser des mises à jour vers votre application sans passer par les examens des magasins d'applications.

  1. Téléchargement de Bundle: Le plugin télécharge des mises à jour de bundles (fichiers ZIP contenant vos actifs web)
  2. Extraction: Les bundles sont extraits dans le stockage du dispositif
  3. Relance Chaude: L'application passe au nouveau bundle sans nécessiter un redémarrage
  4. Mode de Repli: Si une mise à jour échoue, l'application redevient la version fonctionnelle précédente

La méthode la plus simple pour utiliser le plugin avec une gestion automatique des mises à jour :

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

Ajouter à votre capacitor.config.ts:

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

Pour un contrôle avancé du processus de mise à jour :

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();

Aucune configuration supplémentaire requise. Le plugin fonctionne directement.

Aucune configuration supplémentaire requise. Le plugin fonctionne directement.

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);

Écoutez les événements de mise à jour :

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);
});

Configurez le plugin dans votre capacitor.config.ts:

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

La meilleure façon de commencer :

// 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

Voir le guide de démarrage rapide principal pour plus de détails.

Copier dans le presse-papier

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

Copier dans le presse-papier

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

guide de démarrage rapide principal pour plus de détails. Mode Hébergé par l'Utilisateur pour plus de détails.

Contrôle total sur les mises à jour :

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();
}
  • Appeler toujours notifyAppReady() lorsque votre application se charge avec succès
  • Tester les mises à jour soigneusement avant de les envoyer en production
  • Implémenter une gestion des erreurs appropriée pour les échecs de réseau
  • Utilisez les numéros de version de manière cohérente
  • Conservez les tailles des bundles petites pour des téléchargements plus rapides
  • Surveillez les taux de réussite des mises à jour