Passer à la navigation

Canaux

Lorsqu'un appareil demande à Capgo une mise à jour, le canal qu'il utilisera est décidé dans l'ordre suivant (priorité la plus élevée en premier) :

  1. Mise en correspondance du dispositif forcée: Si l'ID du dispositif est explicitement forcé à un canal (la Appareils rubrique sur la page du canal), ce canal gagne toujours. Les mises en correspondances forcées sont des overrides console/API. Capgo les supprime 90 jours après la dernière écriture d'override. Voir Console et overrides API expirent.
  2. Surcharge Cloud (Tableau de bord ou Public API): La modification du canal d'un appareil dans le tableau de bord ou via le Public API écrit une surcharge liée à cet ID d'appareil. La réinstallation de l'application ne ne la supprime ; la suppression de la surcharge le fait.
  3. La même rétention de 90 jours s'applique. setChannel() Plugin(local) setChannel() : Sur les versions actuelles des plugins, setChannel() le canal est stocké sur l'appareil après validation par l'arrière-plan. Il ne s'agit pas d'une surcharge du tableau de bord. La réinstallation de l'application le supprime ; l'application doit appeler
  4. Capacitor config defaultChannel __CAPGO_KEEP_0__ config (défaut de build de test): Pour les builds internes / bêta / de test, vous pouvez définir defaultChannel (clé legacy) channel) dans capacitor.config.* pour que les appareils de test commencent sur un canal de pré-version (par exemple. beta, pr-123. Si absent, l'appareil se dirigera vers le cloud par défaut. Les builds de production laissent généralement cela non défini.
  5. Cloud Default Channel (stratégie principale pour ~99% des utilisateurs): Le canal de production principal où aboutissent presque tous les utilisateurs réels. N'importe quel nouveau dispositif sans force, sans surcharge, sans configuration locale setChannel(), et sans config defaultChannel utilise celui-ci. La modification de celui-ci met en œuvre (ou annule) pour tout le monde en quelques secondes, sans nouvelle version native.

Pourquoi le cloud default est la voie principale:

  • Rollout ou rollback instantané sans reconstruction ou ré-publication de binaires natifs.
  • Un seul endroit pour gérer le comportement d'iOS, d'Android et d'Electron.
  • Sécurisé : vous pouvez confirmer que les bundles existent et que les paramètres sont corrects avant de passer à la version par défaut.
  • Les modifications audibles (les membres de l'équipe peuvent voir qui a changé quoi dans l'interface utilisateur / les journaux). Principe de conception : Les couches au-dessus (forcer / ignorer / configurer) sont des exceptions

des utilisateurs individuels (debug, QA, build de test par défaut). Les utilisateurs normaux suivent la version par défaut du cloud. La modification de la version par défaut du cloud affecte les nouveaux

  • dispositifs normaux qui :
  • Ne sont pas forcés et n'ont pas déjà une surcouche de cloud
  • Do pas avoir une application defaultChannel est défini

Si une version de test est envoyée avec defaultChannel: 'beta' et que vous modifiez ultérieurement la valeur par défaut de Cloud par productionles appareils qui ont démarré sur beta via la configuration restent là jusqu'à ce qu'une affectation de priorité supérieure s'applique, ou jusqu'à ce que vous envoyiez un fichier binaire sans defaultChannelSupprimer une force, une surcharge de Cloud ou une affectation locale n'efface pas la valeur de la configuration ; cette valeur de fallback reste jusqu'à la nouvelle version binaire. setChannel() Les appareils restent sur leur canal actuel à moins que vous:

Forcez-les à un autre canal (console ou Public __CAPGO_KEEP_0__).

  • Modifiez la surcharge de Cloud dans le tableau de bord ou Public API.
  • Change the cloud override in the dashboard or Public API.
  • context setChannel() (affectation locale sur les versions actuelles du plugin).
  • Supprimer ou archiver le canal sur lequel ils se trouvent (ils retomberont ensuite par la préférence à nouveau lors du prochain contrôle).
  • Attendre jusqu'à expiration d'un API console après 90 jours.
  • Réinstaller l'application, ce qui efface une affectation locale mais pas un __CAPGO_KEEP_0__ console. setChannel() assignment but not a console/API override.

Remarque : Définir

signifie changer cela nécessite un nouveau binaire; utilisez-l’intentionnellement pour les tests/QA, pas pour le contrôle de production général. defaultChannel __CAPGO_KEEP_0__ config exemple

Exemple de configuration Capacitor

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

Si vous changez ultérieurement la page d'accueil par défaut en productionles appareils déjà sur un autre canal (via la configuration, la prise en charge, ou la force) NE seront PAS automatiquement déplacés ; seuls les appareils frais (ou ceux dont vous annulez la prise en charge/la force) le prennent en compte.


Tout d’abord, examinons la page des canaux. Vous pouvez y accéder en cliquant sur votre application et puis en cliquant sur l'onglet des canaux liste des canaux.

Créer un canal

protectedTokens1 Dans l'image) Cliquez dessus pour ouvrir un modale où vous pouvez créer un nouveau canal.

nouveau canal

Ensuite, après avoir cliqué sur Add un nouveau canal devrait apparaitre dans la liste.

après la création du canal

column Misconfigured pour un ou plusieurs de vos canaux. Vous pouvez en savoir plus sur cela Yes ici Supprimer un canal

Section intitulée « Qu'est-ce que « mal configuré » signifie ? »

Section intitulée « Supprimer un canal »

Pour supprimer un canal depuis l'application web, ouvrez la Canaux rubrique relative à vos applications et localisez la ligne du canal. Dans la Action colonne, cliquez sur l'icône de la poubelle, puis cliquez sur Supprimer dans le dialogue de confirmation.

Si l'icône de la poubelle n'est pas visible, votre compte n'a pas la

permission pour cette application. Demandez à un administrateur d'organisation ou d'application de vous accorder un rôle qui permet de supprimer des canaux, ou supprimez le canal avec une clé __CAPGO_KEEP_0__ qui a les permissions : channel.delete permission for that app. Ask an organization or app admin to grant a role that can delete channels, or delete the channel with an API key that has permission:

canal
npx @capgo/cli@latest channel delete <channel-name> <app-id>

Une clé liée à une organisation et à une application Aperçu de l'application Une clé d'organisation et d'application peut supprimer atomiquement uniquement le canal de prévisualisation non public et le paquet créé avec channel delete <preview-channel> <app-id> --delete-bundleElle ne peut pas modifier ou supprimer un canal par défaut principal existant, un autre canal de prévisualisation de clé, ou un paquet de clé d'une autre clé. Voir API Clés pour la configuration de privilèges le moins élevé.

Cliquez sur le nom du canal pour ouvrir la page du canal. Il s'agit d'une page complète avec des onglets, et non d'une fenêtre modale.

Paramètres du canal
  • Tableau de bordAdoption de l'actuel bundle et statistiques d'installation pour ce canal.
  • Informations: Channel settings listed below, plus progressive rollout and Test Update API.
  • Paramètres du canal listés ci-dessous, plus déploiement progressif et Mise à jour de test __CAPGO_KEEP_0__.: Forced mappings created from the console or Public API only. It does not list every device currently on the channel, and it does not list devices that used setChannel()Appareils fortement liés créés à partir de la console ou Public __CAPGO_KEEP_0__ uniquement. Il ne liste pas tous les appareils actuellement sur le canal, et il ne liste pas les appareils qui ont utilisé Console and API overrides expire.
  • Console et __CAPGO_KEEP_0__ overrides expireHistoire
  • Évolution et modifications de bundle pour ce canal.: Prévisualisation en ligne et native du paquet lié. Activez la prévisualisation du paquet dans Informations sur l'application tout d'abord.

Restez sur la rubrique Informations Les paramètres s'affichent dans cet ordre :

Premièrement, Le canal de téléchargement par défaut est une vignette de statut, pas un commutateur. Actif signifie que ce canal est le cloud par défaut pour les nouveaux appareils. Cliquez Gérer dans les paramètres de l'application pour changer le canal par défaut sur Informations sur l'application. Pour les valeurs par défaut spécifiques aux plateformes (une pour iOS, une pour Android et une pour Electron), consultez la même section.

Second est la IOS si cette valeur est fausse, les appareils iOS ne seront pas autorisés à télécharger les mises à jour à partir de ce canal.

Troisième est la Android si cette valeur est fausse, les appareils Android ne seront pas autorisés à télécharger les mises à jour à partir de ce canal.

Quatrième est la Electron si cette valeur est fausse, les applications Electron ne seront pas autorisées à télécharger les mises à jour à partir de ce canal.

Cinquième est la Disable auto downgrade under native Paramètre. Si ceci est vrai, alors il sera impossible de régresser d'une version native. Cela signifie que si vous avez téléchargé une version vers le magasin d'applications ou le magasin Play et que vous essayez de définir la version du canal à __CAPGO_KEEP_0__, l'update (régression) échouera. 1.2.0 Sixième est le 1.1.0 Paramètre. Cela est assez complexe, et vous pouvez en savoir plus sur cela

Lieux de consultation Disable auto updateSeptième est le Paramètre. Il choisit si les appareils téléchargent un zip complet, un delta de fichiers modifiés ou les deux. Voir

Package d'update Update package Huitième est le Paramètre. Si ceci est vrai, les builds de développement seront autorisés à télécharger des mises à jour à partir de ce canal. Si ce n'est pas le cas, toute demande d'update qui a __CAPGO_KEEP_0__ défini à faux sera rejetée. Cela est principalement utile pour des fins de test..

Neufième est le Allow development buildParamètre. Il choisit si les appareils téléchargent un zip complet, un delta de fichiers modifiés ou les deux. Voir prod Package d'update

Neuvième est Allow production build. Si ceci est faux, les builds de production (magasin) ne recevront pas d'actualisations de ce canal. Laissez cela activé pour les canaux qui servent des utilisateurs réels.

Dixième est le Allow Emulators. Si ceci est faux, le Capgo ne permettra pas d'actualisation de requête qui provient d'un émulateur. Cela est principalement utile à des fins de test.

Onzième est Allow physical devices. Si ceci est faux, le Capgo refusera les requêtes d'actualisation provenant de vrais téléphones et tablettes. Laissez cela activé pour les canaux de production.

Dodézième est Allow devices to self dissociate/associate. Si ceci est vrai, la setChannel méthode sera disponible. Si ceci est défini à faux et que vous essayez d'appeler la setChannel méthode avec ce canal, alors l'appel échouera.

En bas de la Information Ouvrez Test Mise à jour API. Capgo affiche une commande curl contre /updates pour un appareil d'essai sur ce canal.

Les modifications peuvent prendre jusqu'à 60 secondes pour s'afficher dans l’API en raison du cache. Si le canal ne peut pas être testé, le console vous avertit : le canal nécessite au moins une plateforme (iOS ou Android), des builds de production, des appareils physiques et soit être le canal de téléchargement par défaut ou permettre l'auto-assignation des appareils.

Après avoir modifié le bundle lié, la console peut demander à Envoyer une notification d'actualisationCe qui file une mise à jour silencieuse, afin que les appareils sur le canal vérifient maintenant le nouveau bundle. Configurez les informations de notification Android et iOS sur la page Notifications de l'application avant de procéder.

Les mappages forcés et les canaux de canal public API sont supprimés 90 jours après la dernière écriture d'override. La dernière connexion de l'appareil ne réinitialise pas ce compteur. Pour une affectation qui survit à cette purge, définissez defaultChannel dans votre Capacitor config (survive la réinstallation, nécessite un nouveau binaire pour changer) ou appelez setChannel() à partir de l'application (évite la purge de 90 jours, mais la réinstallation la supprime donc l'application doit appeler setChannel() à nouveau).

Capgo channel Devices tab showing the Override retention popover: console overrides expire after 90 days
Rétention des overrides sur la page Appareils du canal. Le même avertissement s'affiche lorsque vous forcez un ID d'appareil sur le canal.

Ceci est distinct de la conservation de l'inventaire des appareilsL'inventaire supprime les appareils qui n'ont pas été connectés à Capgo pendant 90 jours. La suppression de la mise à jour supprime même la mise en correspondance si l'appareil est toujours actif. Détails complets : Console et les API de suppression expirent après 90 jours.

Ouvrez un canal et restez sur la Informations rubrique. La mise à jour du package se trouve dans la liste des paramètres, sous Désactiver la mise à jour automatique. La liste déroulante de mise à jour du package sur un canal __CAPGO_KEEP_0__ affichant Zip et delta, Zip uniquement, Delta uniquement, Zip uniquement à partir de l'intégral, et Delta uniquement à partir de l'intégral

Update package dropdown on a Capgo channel showing Zip and delta, Zip only, Delta only, Zip only from builtin, and Delta only from builtin
Mettre à jour le package sur la page d'informations du canal. Les nouveaux canaux définissent par défaut Zip et delta.

Cette configuration choisit ce que Capgo envoie lorsque le dispositif sur ce canal vérifie une mise à jour. Laissez-le Zip et delta à moins que vous ne deviez forcer un type.

Étiquette dans la consoleCLI / API valeurQuels appareils téléchargent
Zip et deltaallUn zip complet et un delta lorsque les deux existent. C'est la valeur par défaut.
Zip uniquementzipSeulement le zip complet.
Delta uniquementdeltaSeuls les fichiers modifiés. Les plugins qui ne peuvent pas appliquer une différence reçoivent toujours un zip.
Zip uniquement depuis builtinzip_from_builtinZip uniquement pendant que le dispositif est toujours sur le binôme de la boutique. Après la première mise à jour en direct, Capgo fournit à nouveau zip et delta.
Différence uniquement depuis builtindelta_from_builtinDifférence uniquement pendant que le dispositif est toujours sur le binôme de la boutique. Après la première mise à jour en direct, Capgo fournit à nouveau zip et delta.

Builtin ce sont les actifs web embarqués dans le binôme de l'App Store ou de la boutique Play, avant toute mise à jour Capgo. Utilisez un from builtin mode lorsque la première mise à jour à partir du build de la boutique devrait être zip-unique ou delta-unique, et les mises à jour ultérieures peuvent utiliser les deux.

Capgo ne paiera pas un canal zip-unique avec un bundle delta-unique, ou l'inverse. Le console, CLI, et Les canaux API refusent le sauvegarder et vous disent de télécharger le paquet manquant ou de changer le mode.

Vous pouvez définir la même valeur à partir de CLI. Le canal doit déjà exister :

Fenêtre de terminal
npx @capgo/cli@latest channel set production com.example.app --update-package zip

Valeurs valides : all, zip, delta, zip_from_builtin, delta_from_builtin.

Le canal Informations La rubrique « Informations » inclut un Déploiement progressif La section « Déploiements progressifs » permet de définir un bundle cible, de choisir le pourcentage et la durée de la cache décisionnelle, puis d'activer le déploiement. À partir de la même section, vous pouvez suspendre ou reprendre l'exposition, promouvoir le cible vers stable, la remettre en arrière ou configurer une pause automatique, un retour en arrière ou une notification lorsque les signaux de failure franchissent un seuil.

Contrôles de déploiement progressif dans un canal Capgo
Les contrôles de déploiement progressif apparaissent en haut de la rubrique « Informations » du canal.

Lisez Déploiements progressifs avant de l'activer. Il explique les cohortes collantes, les changements de pourcentage sûrs et le comportement d'arrêt automatique.

Si vous utilisez Canaux contexte : nom de fonctionnalité de canaux de Capgo. Page/zone : page de marketing de solutions de Capgo. Rôle : étiquette de navigation ou élément UI court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Valeur de cellule visuelle White Label Solutions). connectez-l’avec Canaux contexte : nom de fonctionnalité de canaux de Capgo. Page/zone : page de marketing de solutions de Capgo. Rôle : étiquette de navigation ou élément UI court. Vu dans : page solutions/white-label.astro. Clé de message `solutions_white_label_visual_cell2_value` (Valeur de cellule visuelle White Label Solutions). pour les détails d'implémentation dans Canaux, Solution de Test Beta pour le flux de workflow du produit dans Solution de Test Beta Solution de Ciblage de Version pour le flux de workflow du produit dans Solution de Ciblage de Version, et Capgo Pratiques d'environnement : Étapes avec un ID d'application mobile unique pour le contexte pratique dans Capgo Pratiques d'environnement : Étapes avec un ID d'application mobile unique.