Passer au contenu

Canaux

When a Appareil asks Capgo for an Mise à jour, the Canal it will use is decided in the following order (highest priority first):

  1. Forced Appareil mapping: If the Appareil ID is explicitly forced to a Canal (see the Forced Appareils list inside the Canal Paramètres), that Canal always wins.
  2. Cloud override (created by setChannel() or Webapp action): Calling setChannel (or changing a device’s channel in the dashboard) writes a persistent override in the cloud tied to that device ID. That override is consulted after forced mapping but before any defaults. Re‑installing the app does not clear it; deleting the device entry does.
  3. Capacitor config defaultChannel (test build default): For internal / beta / test builds you can set defaultChannel (legacy key channel) in capacitor.config.* so test devices start on a pre-release channel (e.g. beta, pr-123). If absent, the device will proceed to the cloud default. Production builds usually leave this unset.
  4. Cloud Default Channel (primary strategy for ~99% of users): The main production channel virtually all real users land on. Any new device without a force, without an override, and without a config defaultChannel uses this. Changing it rolls out (or rolls back) for everyone in seconds—no new binary.

Why the cloud default is the main path:

  • Instant rollout or Restauration without rebuilding or re‑publishing Natif binaries.
  • One place to manage both iOS & Android behavior.
  • Safer: you can confirm Bundles exist and Paramètres are correct before switching default.
  • Auditable changes (team Membres can see who changed what in the UI / Journaux). Design principle: Layers above (force / override / config) are exceptions (Débogage single Utilisateur, QA switching, Test Construction defaults). Normal Utilisateurs flow to the cloud default.

Changing the cloud default Canal affects Nouveau normal Appareils that:

  • Are not forced
  • Do not already have a cloud override
  • Do not have an app-level defaultChannel defined

If a test build ships with defaultChannel: 'beta' and you later change the cloud default to production, devices that started on beta via the config stay there until you: (a) override them with setChannel(), (b) force them, or (c) delete the device entry.

Appareils stay on their current Canal unless you:

  • Force them to another Canal.
  • Call setChannel() (creating/replacing the cloud override) or change it manually in the dashboard.
  • Retirer / archive the Canal they are on (then they will fall Retour through the precedence again at Suivant Vérifier).

If a Canal is disabled for a platform (see iOS / Android toggles) and would otherwise have been selected, the selection skips it and falls Retour to the Suivant rule.

Note: Setting defaultChannel means changing it requires a new binary; use it intentionally for test/QA, not for general production control.

capacitor.config.ts
// Example: a TestFlight or internal QA build defaults to the beta channel.
const config = {
plugins: {
Capgo: {
defaultChannel: 'beta', // Test build default. Omit in production so users attach to cloud default.
// legacy key: channel
},
},
};
export default config;

If you later change the dashboard default to production, devices already on another channel (via config, override, or force) will NOT move automatically; only fresh devices (or those whose override/force you clear) pick it up.


First, let’s take a look at the Canaux page. You can access it by clicking on your Application and then clicking on the Canaux tab.

channel list

As you can see, there exists a plus button in the lower right corner. (1 in the image) Clicking on it will open a modal where you can create a new channel.

new channel

Then after you click on Add a new channel should appear in the list.

after channel create

Sometimes the configuration of a channel is not valid. In that case, you will get a big warning and the Misconfigured column will say Yes for one or more of the channels. You can learn more À propos it [here](/docs/CLI/Commandes/#Désactiver-Mises à jour-strategy)

Deleting a channel is straight forward. Just click on the trash icon and confirm the deletion. (2 in the image)

Cliquer sur le nom du canal ouvrira un modal où vous pouvez gérer les paramètres du canal (3 dans l’image).

Paramètres du canal

La page des paramètres du canal contient toutes les options de configuration pour votre canal. Passons en revue chaque paramètre.


Premièrement le toggle Canal par défaut. Lorsqu’il est activé, ce canal devient le canal par défaut pour les nouveaux appareils. Pour une explication complète du fonctionnement des canaux par défaut, y compris comment configurer des valeurs par défaut spécifiques à chaque plateforme (une pour iOS, une pour Android), consultez la section Configuration du Canal par Défaut.


Deuxièmement le paramètre IOS. C’est relativement simple. Si c’est faux, les appareils iOS ne pourront pas télécharger les mises à jour depuis ce canal.

Troisièmement le paramètre Android. C’est similaire à IOS. Si c’est faux, les appareils Android ne pourront pas télécharger les mises à jour depuis ce canal.

Quatrièmement le paramètre Désactiver le downgrade automatique sous natif. Si c’est vrai, il sera impossible de rétrograder depuis une version native. Cela signifie que si vous avez uploadé une version 1.2.0 sur l’App Store ou le Play Store et essayez de définir la version du canal à 1.1.0, la mise à jour (rétrogradation) échouera.

Cinquièmement Désactiver la mise à jour automatique. Ce paramètre est assez complexe, et vous pouvez en apprendre plus ici

Pour Autoriser les builds de développement. Si c’est vrai, les builds de développement pourront télécharger les mises à jour depuis ce canal. Sinon, toute demande de mise à jour avec prod défini à faux sera rejetée. C’est principalement utile pour les tests.

Septièmement Autoriser les Émulateurs. Si c’est faux, Capgo refusera toute demande de mise à jour provenant d’un émulateur. C’est principalement utile pour les tests.

Huitièmement Autoriser les appareils à s'auto-associer. Si c’est vrai, la méthode setChannel sera disponible. Si c’est défini à faux et que vous essayez d’appeler la méthode setChannel avec ce canal, l’appel échouera.