Changements de rupture
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Cette documentation explique comment gérer les changements de version dans votre application en utilisant des canaux versionnés. Cette approche permet de maintenir différentes versions de votre application tout en garantissant que les utilisateurs reçoivent des mises à jour compatibles.
Scénario d'exemple
Section intitulée « Scénario d'exemple »Supposons que vous ayez :
- Version de l'application 1.2.3 (ancienne version) - utilise le canal de production
- Version de l'application 2.0.0 (nouvelle version avec des changements de version) - utilise le canal v2
- Mise à jour en direct 1.2.4 (compatible avec 1.2.3)
- Mise à jour en temps réel 2.0.1 (compatible avec 2.0.0)
Stratégie : Utiliser toujours defaultChannel pour les versions majeures
Section intitulée « Stratégie : Utiliser toujours defaultChannel pour les versions majeures »Approche recommandée : Définir un defaultChannel pour chaque version majeure. Cela vous permet toujours de pousser des mises à jour à des groupes d'utilisateurs spécifiques sans dépendre de l'affectation dynamique de canal.
// Version 1.x releasesdefaultChannel: 'v1'
// Version 2.x releasesdefaultChannel: 'v2'
// Version 3.x releases (future)defaultChannel: 'v3'Section intitulée “1. Créer un canal pour la nouvelle version”
Fenêtre de terminal# Create channel for version 2.xnpx @capgo/cli channel create v2Section intitulée “2. Mettre à jour Capacitor Config pour la version 2.0.0”
Section titled “2. Update Capacitor Config for Version 2.0.0”Mettez à jour votre Capacitor config avant de construire la version 2.0.0 pour la boutique d'applications :
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { appId: 'com.example.app', appName: 'Example App', plugins: { CapacitorUpdater: { // ... other options defaultChannel: 'v2' // All 2.0.0 users will use v2 channel } }};
export default config;3. Gérer les branches Code séparées
Section intitulée “3. Gérer les branches Code séparées”Créez des branches Git séparées pour maintenir la compatibilité entre les versions de l'application :
# Create and maintain a branch for version 1.x updatesgit checkout -b v1-maintenancegit push origin v1-maintenance
# Your main branch continues with version 2.x developmentgit checkout mainCritique : Never push JavaScript bundles to older apps that expect native code/APIs they don’t have. Always build updates from the appropriate branch:
- branche de maintenance v1: Pour les mises à jour des applications 1.x (chaîne de production)
- : Pour les mises à jour des applications 2.x (chaîne v2)4. Télécharger les Bundles dans les Canaux Respectifs
Section intitulée “4. Télécharger les Bundles dans les Canaux Respectifs”
Fenêtre de terminal# For 1.x updates: Build from v1-maintenance branchgit checkout v1-maintenance# Make your 1.x compatible changes herenpx @capgo/cli bundle upload --channel production
# For 2.x updates: Build from main branchgit checkout main# Make your 2.x changes herenpx @capgo/cli bundle upload --channel v25. Activer l'attribution automatique
Section intitulée « 5. Activer l'attribution automatique »# Allow apps to self-assign to v2 channelnpx @capgo/cli channel set v2 --self-assign6. Déployer sur l'App Store
Section intitulée « 6. Déployer sur l'App Store »Construire et déployer la version 2.0.0 sur l'App Store. Tous les utilisateurs qui téléchargent cette version (que ce soit de nouveaux utilisateurs ou des utilisateurs existants qui mettent à jour) utiliseront automatiquement le canal v2 car il est configuré dans le bundle de l'application.
Échelle vers les futures versions
Section intitulée « Échelle vers les futures versions »Lorsque vous publiez la version 3.0.0 avec plus de changements de rupture :
# Create channel for version 3.xnpx @capgo/cli channel create v3// capacitor.config.ts for version 3.0.0const config: CapacitorConfig = { // ... plugins: { CapacitorUpdater: { defaultChannel: 'v3' // Version 3.x users } }};Vous pouvez maintenant envoyer des mises à jour vers n'importe quelle version :
productioncanal → Utilisateurs de la version 1.xv2canal → Utilisateurs de la version 2.xv3canal → Utilisateurs de la version 3.x
7. Nettoyage (Après Migration)
Section intitulée « 7. Nettoyage (Après Migration) »Une fois que tous les utilisateurs ont migré vers la version 2.x (durée de 3-4 mois) :
- Supprimer
defaultChannelde votre Capacitor config - Supprimer le canal v2 :
npx @capgo/cli channel delete v2- Supprimer la branche v1-maintenance :
git branch -d v1-maintenancegit push origin --delete v1-maintenanceTestez toujours les mises à jour soigneusement dans chaque canal avant la mise en production
Maintenance des Mises à jour de la Version 1.x
Sous-titre “Maintenance des Mises à jour de la Version 1.x”Pour envoyer des mises à jour compatibles avec la version 1.x :
- Passer à la branche v1-maintenance :
git checkout v1-maintenance- Appliquez vos modifications et commitez :
# Make 1.x compatible changesgit add .git commit -m "Fix for v1.x"git push origin v1-maintenance- Construire et envoyer vers le canal de production :
npx @capgo/cli bundle upload --channel production