Canaux
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Un canal d'actualisation en direct pointe vers une version spécifique du build de votre application JS qui sera partagée avec tous les appareils configurés pour écouter ce canal pour les mises à jour. Lorsque vous installez les mises à jour Capgo en direct SDK dans votre application, tout binôme natif configuré sur ce canal vérifiera les mises à jour disponibles chaque fois que l'application est lancée. Vous pouvez modifier à tout moment le canal vers lequel pointe la construction et pouvez également revenir à des versions précédentes si nécessaire.
Comment un appareil choisit un canal (préférence)
Sous-titre “Comment un appareil choisit un canal (préférence)”Lorsqu'un appareil vérifie une mise à jour, Capgo décide quel canal utiliser dans cet ordre strict (priorité la plus élevée en premier) :
- La mise en correspondance du dispositif forcé (tableau de bord) – Fixez manuellement un ID de dispositif spécifique à un canal. Utilisez pour des débogages urgents ou des tests contrôlés avec un seul utilisateur réel. Cela l'emporte toujours.
- Surcharge Cloud (par appareil) via le tableau de bord ou API – Créé lorsque vous changez le canal de l'appareil dans le tableau de bord ou via API. Utilisez-le pour les utilisateurs QA qui passent entre les canaux de fonctionnalité / PR ou pour reproduire un problème d'utilisateur. La suppression du fichier binaire ne le supprime pas ; la suppression de l'entrée de l'appareil le supprime.
- Plugin
setChannel()canal local – Créé lorsque l'application appellesetChannel()et que le serveur valide que le canal cible autorise l'auto-assignation. Le canal sélectionné est stocké localement sur cet appareil, prend effet instantanément et n'est pas affiché dans l'interface de surcharge de l'appareil.
- Capacitor config
defaultChannel(défaut de build de test) – Si présent danscapacitor.config.*et qu'aucun canal forcé/forcé/local n'existe, l'application démarre sur ce canal (par exemple,beta,qa,pr-123). Conçu pour les builds TestFlight / internes afin que les testeurs atterrissent automatiquement sur un canal de pré-version. Les builds de production laissent généralement cela non défini. - Canal par défaut Cloud (chemin principal ~99% des utilisateurs) – Si vous marquez un canal par défaut dans le tableau de bord, tous les utilisateurs normaux (sans force, sans surcharge/API, sans canal local de plugin, sans config defaultChannel) s'y attachent. Modifiez-le pour lancer ou annuler instantanément—sans nouvelle version. Si vous avez des valeurs par défaut spécifiques aux plateformes (par exemple, un seul iOS, un seul Android, un seul Electron), chaque appareil atterrit sur la valeur par défaut correspondant à sa plateforme. Laisser le canal par défaut cloud non défini est autorisé ; dans ce cas, l'appareil doit correspondre aux étapes 1-4 pour recevoir des mises à jour.
Meilleure pratique :
- Traitez 1–4 comme exceptions / couches de test ; lorsque vous définissez une valeur par défaut dans le cloud, les utilisateurs réels devraient y accéder. Si vous choisissez de ne pas la définir, soyez délibéré sur la façon dont les utilisateurs s'y attachent (généralement via
defaultChannelen config ou en surcharges par appareil). - Configurez uniquement
defaultChanneldans les binaires que vous envoyez explicitement aux testeurs. Laisser cela non défini garde la logique de production centralisée dans le tableau de bord. - Utilisez
setChannel()avec parcimonie en production—principalement pour les tests de qualité ou les diagnostics ciblés.
Si un canal est désactivé pour la plateforme (iOS/Android/Electron) lorsqu'il serait autrement choisi, le processus de sélection le saute et continue dans la liste.
Résumé : Force > Tableau de bord/API Survol > Plugin
setChannel()canal local > ConfigdefaultChannel> Canal par défaut du cloud.
Comportement par défaut du canal
Section intitulée « Comportement de la chaîne par défaut »La définition d'une chaîne par défaut dans le cloud est facultative, mais elle sert généralement de chemin par défaut pour les nouveaux appareils. Sans elle, seuls les appareils qui correspondent aux mappages imposés, aux surcharges ou à la defaultChannel Capacitor config recevront des mises à jour. Lorsque vous choisissez de marquer des chaînes par défaut, gardez ces modèles à l'esprit :
- Chaîne par défaut unique (la plus courante) – Si une chaîne a iOS, Android et Electron activés, elle devient la seule chaîne par défaut ; tout appareil sans surcharges s'y attache.
- Chaînes par défaut spécifiques aux plateformes – Si vous divisez les chaînes par plateforme (par exemple,
ios-productionavec uniquement iOS activé,android-productionavec uniquement Android activé, etelectron-productionavec uniquement Electron activé), marquez chaque une comme la chaîne par défaut de sa plateforme. Les appareils iOS se dirigent vers la chaîne par défaut iOS, les appareils Android vers la chaîne par défaut Android et les applications Electron vers la chaîne par défaut Electron.
Rappelez-vous que la chaîne par défaut dans le cloud et la defaultChannel __CAPGO_KEEP_0__ capacitor.config.* Les deux occupent le même niveau de décision. Si vous définissez un cloud par défaut, vous n'avez pas besoin de dupliquer la valeur dans votre Capacitor config—laissez defaultChannel vide pour les builds de production. Réservez defaultChannel pour les binaires que vous envoyez intentionnellement aux testeurs ou à la QA lorsque vous voulez qu'ils commencent sur un canal non de production même si la valeur par défaut du cloud est différente.
Vous pouvez modifier les valeurs par défaut à tout moment dans le tableau de bord. Lorsque vous changez une valeur par défaut, les nouveaux appareils suivent les nouvelles règles de routage immédiatement et les appareils existants suivent les règles de priorité normales la prochaine fois qu'ils se connectent.
Configuration d'un Canal
Section intitulée « Configuration d'un Canal »Lors de l'inscription, vous créez le premier canal (la plupart des équipes le nomment « Production »), mais rien n'est bloqué—you pouvez renommer ou supprimer n'importe quel canal à tout moment. Pour ajouter des canaux supplémentaires ultérieurement:
- Allez dans la section « Canaux » du tableau de bord Capgo
- Cliquez sur le bouton « Nouveau Canal »
- Entrez un nom pour le canal et cliquez sur « Créer »
Les noms de canaux peuvent être n'importe quoi vous voulez. Une stratégie courante est de correspondre les canaux à vos étapes de développement, comme:
Development- pour tester les mises à jour en direct sur les appareils locaux ou les émulateursQA- pour que votre équipe QA vérifie les mises à jour avant une diffusion plus largeStaging- pour les tests finals dans un environnement de production similaireProduction- pour la version de votre application que les utilisateurs finals reçoivent depuis les magasins d'applications
Configurer le Canal dans Votre Application
Section intitulée “Configurer le Canal dans Votre Application”Une fois vos canaux créés, vous devez configurer votre application pour écouter le bon canal. Dans cet exemple, nous utiliserons le Development canal.
Ouvrez votre capacitor.config.ts (ou capacitor.config.json) fichier. Sous la plugins section, définissez optionnellement defaultChannel pour tests de construction (intérieur / QA). Pour les constructions de production, préférez l'omettre afin que les appareils utilisent le Cloud par défaut, à moins d'avoir explicitement défini autre chose.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build – testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};Ensuite, construisez votre application web et exécutez npx cap sync pour copier le fichier de configuration mis à jour dans vos projets iOS, Android et Electron. Si vous passez cette étape de synchronisation, vos projets natifs continueront à utiliser le canal dont ils étaient précédemment configurés.
Options et stratégies de canal
Section intitulée « Options et stratégies de canal »Les canaux ont plusieurs options qui contrôlent qui peut recevoir des mises à jour et comment les mises à jour sont livrées. Les plus importantes sont ci-dessous. Vous pouvez configurer ces éléments à partir de l'application web, du CLI, ou de Public API.
- Canal par défaut : Marquez facultativement le canal ou les canaux spécifiques au plateau qui les nouveaux appareils s'attachent. Voir « Comportement du canal par défaut » pour les scénarios de routage.
- Filtres de plateforme : Activer ou désactiver la livraison vers les appareils
iOS,Android, ouElectronappareils par canal. - Désactiver la mise à niveau automatique sous native : Empêche l'envoi d'une mise à jour lorsque la version native de l'appareil est plus récente que la version du canal (par exemple, appareil sur 1.2.3 tandis que le canal a 1.2.2).
- Permettre les builds de développement : Autoriser les mises à jour vers les builds de développement (utiles pour les tests).
- Permettre les appareils émulateurs : Autoriser les mises à jour vers les émulateurs/simulateurs (utiles pour les tests).
- Autoriser l'auto-assignation du dispositif : Permet à l'application de passer à ce canal en temps de exécution à l'aide de
setChannelSi désactivé,setChannelne fonctionnera pas pour ce canal.
Désactiver les stratégies d'auto-mise à jour
Section intitulée “Désactiver les stratégies d'auto-mise à jour”Utilisez cela pour restreindre les types d'actualisations que le canal délivrera automatiquement. Options :
- majeur : Bloc un paquet cible dont la version majeure est supérieure à la base de ligne de version native du dispositif (
version_build) Exemple :1.2.3 -> 2.0.0est bloqué ;1.2.3 -> 1.9.0est autorisé. - mineur : Bloc un paquet cible dont la version majeure ou mineure diffère de
version_buildExemple :1.2.3 -> 1.3.0est bloqué ;1.2.3 -> 1.2.4est autorisé. - patch : Mode le plus strict. Bloque toute modification du numéro majeur, mineur ou de patch. Seules les modifications de suffixe sont autorisées pendant
MAJOR.MINOR.PATCHreste identique. Exemples :1.0.0-beta.1 -> 1.0.0-beta.2est autorisé,1.0.0+build.1 -> 1.0.0+build.2est autorisé,1.0.0 -> 1.0.1est bloqué. - metadata : Exigez une version minimale d'actualisation de métadonnées sur chaque bundle. Configurez via CLI en utilisant
--min-update-versionou--auto-min-update-versionSi manquant, le canal est marqué comme non configuré et les mises à jour seront rejetées jusqu'à ce qu'il soit configuré. - none : Autorise toutes les mises à jour conformes à la compatibilité de semver.
Ces stratégies comparant la charge utile ciblée du canal avec la base native envoyée comme version_buildet non la charge utile téléchargée actuelle envoyée comme version_name.
En savoir plus sur les détails et les exemples dans la stratégie de désactivation des mises à jour à /docs/cli/commands/#disable-updates-strategy.
Exemple (CLI):
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assignEn utilisant setChannel() de Votre Application
Section intitulée “En utilisant setChannel() de Votre Application”Le setChannel() méthode permet à votre application de passer manuellement entre les canaux en temps de exécution. Cela est particulièrement utile pour :
- Menus de test/QA où les testeurs peuvent passer entre les canaux
- Flux d'opt-in du programme bêta
- Implémentations de drapeaux de fonctionnalité
- Scénarios de tests A/B
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});Attribuer un Bundle à un Canal
Section intitulée “Attribuer un Bundle à un Canal”Pour déployer une mise à jour en direct, vous devez télécharger un nouveau build de bundle JS et l'attribuer à un canal. Vous pouvez faire cela en une étape avec le Capgo CLI:
npx @capgo/cli@latest bundle upload --channel=DevelopmentCela téléchargera vos actifs web construits et définira le nouveau bundle en tant que build actif pour le Development canal. Tous les applications configurées pour écouter ce canal recevront la mise à jour la prochaine fois qu'elles vérifieront une mise à jour.
Vous pouvez également attribuer des builds à des canaux à partir de la section “Bundles” de la Capgo console. Cliquez sur l'icône de menu à côté d'un build et sélectionnez “Attribuer à Canal” pour choisir le canal pour ce build.
Versionnement des Bundles et des Canaux
Section intitulée “Versionnement des Bundles et des Canaux”Il est important de noter que les bundles dans Capgo sont mondiaux pour votre application, et non spécifiques à des canaux individuels. Le même bundle peut être attribué à plusieurs canaux.
When vous versionnez vos bundles, nous vous recommandons d'utiliser la versionnement semantique avec __CAPGO_KEEP_0__’s Tester Semver et des identifiants de version préalable pour les builds spécifiques au canal. Par exemple, une version bêta pourrait être versionnée comme semantic versioning with Capgo’s Semver Tester Elle communique clairement la relation entre les builds. 1.2.3-beta.1.
est clairement une version préalable de
- Cela permet de réutiliser les numéros de version dans les canaux, réduisant la confusion.
1.2.3-beta.1Cela permet des chemins de rebond clairs. Si vous devez revenir à1.2.3. - , vous savez que
- est la version stable précédente.
1.2.3Voici un exemple de la façon dont vous pourriez aligner les versions de vos bundles avec un setup de canal typique :1.2.2canal :
channel:
Developmentchannel:1.2.3-dev.1,1.2.3-dev.2etc.QAcanal :1.2.3-qa.1,1.2.3-qa.2etc.Stagingcanal :1.2.3-rc.1,1.2.3-rc.2etc.Productioncanal :1.2.3,1.2.4etc.
Utilisation Utiliser semver avec des identifiants de version préalables est une approche recommandée, mais pas strictement requise. La clé est de trouver un schéma de versionnement qui communique clairement les relations entre vos builds et s'aligne sur le processus de développement de votre équipe.
Annuler une mise à jour en direct
Section intitulée « Annuler une mise à jour en direct »If vous déploiez une mise à jour en direct qui introduit une erreur ou doit être rétablie, vous pouvez facilement revenir à une version précédente. À partir de la section « Canaux » de la console :
- Clicker le nom du canal que vous souhaitez annuler
- Trouvez la version que vous souhaitez rétablir et cliquez sur l'icône de couronne

- Confirmer l'action
La version sélectionnée deviendra immédiatement la version active pour ce canal. Les applications recevront la version rétablie la prochaine fois qu'elles vérifient les mises à jour.
Automatiser les déploiements
Section intitulée « Automatiser les déploiements »Pour des workflows plus avancés, vous pouvez automatiser vos déploiements de mise à jour en direct en tant que partie de votre pipeline CI/CD. En intégrant Capgo à votre processus de construction, vous pouvez télécharger automatiquement de nouvelles archives et les affecter à des canaux chaque fois que vous poussez vers certaines branches ou créez de nouvelles versions.
Consultez les Intégration CI/CD docs pour en savoir plus sur l'automatisation des mises à jour Capgo en direct.
Déploiement sur un appareil
Section intitulée “Déploiement sur un appareil”Maintenant que vous comprenez les canaux, vous êtes prêt à commencer à déployer des mises à jour en direct sur des appareils réels. Le processus de base est :
- Installez le Capgo SDK dans votre application
- Configurez l'application pour écouter votre canal souhaité
- Téléchargez une build et affectez-la à ce canal
- Lancez l'application et attendez l'actualisation !
Pour une présentation détaillée, consultez le Déploiement de Mises à Jour en Ligne guide. Bonne actualisation !
Utilisation avancée des canaux : segmentation des utilisateurs
Section intitulée “Utilisation avancée des canaux : segmentation des utilisateurs”Les canaux peuvent être utilisés pour plus que les étapes de développement. Ils sont un outil puissant pour la segmentation des utilisateurs, permettant des fonctionnalités comme :
- Des drapeaux de fonctionnalité pour différents niveaux d'utilisateurs
- Des tests A/B
- Des lancements de fonctionnalités progressives
- Des programmes de test bêta
Apprenez à mettre en œuvre ces cas d'utilisation avancés dans notre guide : Comment segmenter les utilisateurs par plan et canaux pour les drapeaux de fonctionnalité et les tests A/B.
Continuez de la section « Continuez de la section canaux »
Si vous utilisezles canaux pour planifier la routage des canaux et le lancement étape par étape, connectez-le avec __CAPGO_KEEP_0__ Canaux pour les détails d'implémentation dans Canaux, Canaux pour les détails d'implémentation dans Canaux, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, Solution de ciblage de version pour le flux de travail du produit dans Solution de ciblage de version, et Capgo Pratiques de meilleures performances pour l'environnement : mise en scène avec un seul ID d'application mobile pour le contexte pratique dans Capgo Pratiques de meilleures performances pour l'environnement : mise en scène avec un seul ID d'application mobile.