Commencer
##Installation
npm install @capgo/capacitor-updaternpx cap syncyarn add @capgo/capacitor-updaternpx cap syncpnpm add @capgo/capacitor-updaternpx cap syncbun add @capgo/capacitor-updaternpx cap syncDémarrage rapide
Section titled “Démarrage rapide”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 l’intégration cloud de Capgo.
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.
Aperçu
Section titled “Aperçu”Le plugin Capacitor Updater permet des mises à jour en direct (OTA) pour vos applications Capacitor. Cela vous permet de diffuser des mises à jour de votre application sans passer par les avis de l’App Store.
Comment ça marche
Section titled “Comment ça marche”- Téléchargement du bundle : le plugin télécharge les bundles de mise à jour (fichiers ZIP contenant vos ressources Web)
- Extraction : les bundles sont extraits vers le stockage de l’appareil
- Rechargement à chaud : l’application passe au nouveau pack sans nécessiter de redémarrage.
- Retour : si une mise à jour échoue, l’application revient à la version de travail précédente
Modes d’utilisation
Section titled “Modes d’utilisation”1. Mode de mise à jour automatique (recommandé)
Section titled “1. Mode de mise à jour automatique (recommandé)”La manière la plus simple d’utiliser le plugin avec gestion automatique des mises à jour :
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.tsAjoutez à votre capacitor.config.ts :
{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-update-server.com/api/updates' } }}2. Mode manuel
Section titled “2. Mode manuel”Pour un contrôle avancé du processus de mise à jour :
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an updateconst 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 immediatelyawait CapacitorUpdater.reload();Configuration de la plateforme
Section titled “Configuration de la plateforme”Aucune configuration supplémentaire requise. Le plugin fonctionne immédiatement.
Android
Section titled “Android”Aucune configuration supplémentaire requise. Le plugin fonctionne immédiatement.
Utilisation de base de API
Section titled “Utilisation de base de API”Télécharger une mise à jour
Section titled “Télécharger une mise à jour”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);Définir le pack actif
Section titled “Définir le pack actif”// Set bundle to be used on next app startawait CapacitorUpdater.set({ id: bundle.id});Recharger avec un nouveau pack
Section titled “Recharger avec un nouveau pack”// Reload app immediately with new bundleawait CapacitorUpdater.reload();Liste des lots
Section titled “Liste des lots”const { bundles } = await CapacitorUpdater.list();console.log('Available bundles:', bundles);Supprimer un lot
Section titled “Supprimer un lot”await CapacitorUpdater.delete({ id: 'bundle-id'});Obtenir le forfait actuel
Section titled “Obtenir le forfait actuel”const { bundle } = await CapacitorUpdater.current();console.log('Current bundle:', bundle.version);## Écouteurs d’événements
Écoutez les événements de mise à jour :
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progressCapacitorUpdater.addListener('download', (info) => { console.log('Download progress:', info.percent);});
// Listen for download completionCapacitorUpdater.addListener('downloadComplete', (bundle) => { console.log('Download complete:', bundle.version);});
// Listen for update failuresCapacitorUpdater.addListener('updateFailed', (error) => { console.error('Update failed:', error);});
// Listen for successful updatesCapacitorUpdater.addListener('updateAvailable', (info) => { console.log('Update available:', info.version);});Options de configuration
Section titled “Options de configuration”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' } }}Modèles d’intégration
Section titled “Modèles d’intégration”Avec le cloud Capgo
Section titled “Avec le cloud Capgo”La façon la plus simple de commencer :
// Install the Capgo CLInpm install -g @capgo/cli
// Login to Capgonpx @capgo/cli login
// Upload your first bundlenpx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloudConsultez le guide de démarrage rapide principal pour plus de détails.
Mises à jour auto-hébergées
Section titled “Mises à jour auto-hébergées”Hébergez votre propre serveur de mise à jour :
// Configure your update endpoint{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-server.com/api/check-update' } }}Votre serveur devrait renvoyer :
{ "version": "1.0.1", "url": "https://your-server.com/updates/1.0.1.zip"}Voir Mode auto-hébergé pour plus de détails.
Flux de mise à jour manuelle
Section titled “Flux de mise à jour manuelle”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();}## meilleures pratiques
- Appelez toujours
notifyAppReady()lorsque votre application se charge avec succès - Testez minutieusement les mises à jour avant de passer en production
- Implémenter une gestion appropriée des erreurs en cas de pannes de réseau
- Utilisez les numéros de version de manière cohérente
- Gardez les tailles de bundle petites pour des téléchargements plus rapides
- Surveiller les taux de réussite des mises à jour
Prochaines étapes- Référence du plugin API - Documentation complète de API
Section titled “Prochaines étapes- Référence du plugin API - Documentation complète de API”- Paramètres du plugin - Toutes les options de configuration
- Événements - Événements de mise à jour disponibles
- Mode auto-hébergé - Exécutez votre propre serveur de mise à jour
- Développement local - Tester les mises à jour localement
- Débogage - Guide de dépannage
Assistance
Section titled “Assistance”- Problèmes connus - Problèmes courants et solutions
- GitHub Discussions - Soutien de la communauté
- Discord - Chat en temps réel