Canaux
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète pour ce plugin.
Les canaux sont le mécanisme de base pour gérer les mises à jour de l'application dans Capgo. Ils vous permettent de contrôler comment et quand vos utilisateurs reçoivent les mises à jour, en activant des fonctionnalités comme les tests A/B, les lancements étalés et les mises à jour spécifiques au plateau.
Comprendre les canaux
Section intitulée “Comprendre les canaux”Un canal représente une piste de distribution pour les mises à jour de votre application. Chaque canal peut être configuré avec des règles et des contraintes spécifiques :
- Contrôle de la version du bundle: Spécifiez quelle version du bundle les utilisateurs reçoivent
- Ciblage de plateforme: Ciblez des plateformes spécifiques (iOS/Android/Electron)
- Politiques de mise à jour: Contrôlez comment les mises à jour sont livrées
- Restrictions de dispositif: Gérez lesquels dispositifs peuvent accéder aux mises à jour
Options de configuration de canal
Section intitulée “Options de configuration de canal”- public: Définissez le canal par défaut pour les nouveaux appareils
- disableAutoUpdateUnderNative: Empêcher les mises à jour lorsque la version native de l'appareil est plus récente que la mise à jour du bundle (version) disponible dans le canal (par exemple, l'appareil est sur la version native de l'application 1.2.3, mais le canal a le bundle (version) 1.2.2)
- disableAutoUpdate : Contrôler le comportement de mise à jour (“majeur”, “mineur”, “version_number”, “aucun”)
- ios/android/electron : Activer/désactiver pour les plateformes spécifiques
- allow_device_self_set : Laisser aux appareils choisir leur canal
- allow_emulator : Autoriser les mises à jour sur les appareils émulés
- allow_dev : Autoriser les mises à jour sur les builds de développement
Meilleures Pratiques
Section intitulée « Meilleures Pratiques »- Canal de Test: Maintenez un canal de test pour la validation interne
- Déploiement Graduel: Utilisez plusieurs canaux pour un déploiement d'actualisation progressif
- Séparation de Plateforme: Créez des canaux séparés pour iOS, Android et Electron lorsque nécessaire
- Gestion de Bundles (version): Utilisez la versionnement semantique pour des chemins d'actualisation clairs
Points de Terminaison
Section intitulée « Points de Terminaison »https://api.capgo.app/channel/
Créer ou mettre à jour une configuration de canal.
Corps de la demande
Section intitulée « Corps de la demande »type disable_update = "major" | "minor" | "version_number" | "none"interface ChannelSet { app_id: string channel: string version?: string // bundle (version) name public?: boolean disableAutoUpdateUnderNative?: boolean disableAutoUpdate?: disable_update ios?: boolean android?: boolean electron?: boolean allow_device_self_set?: boolean allow_emulator?: boolean allow_dev?: boolean}Exemple de demande
Section intitulée « Exemple de demande »curl -X POST \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta", "version": "1.2.0", "public": false, "disableAutoUpdate": "minor", "ios": true, "android": true, "electron": true, "allow_emulator": true }' \ https://api.capgo.app/channel/Réponse de succès
Section intitulée « Réponse de succès »{ "status": "ok"}https://api.capgo.app/channel/
Récupérer les informations du canal. Retourne 50 canaux par page.
Paramètres de requête
Section intitulée “Paramètres de requête”app_id: Obligatoire. L'ID de votre applicationpage: Facultatif. Numéro de page pour la paginationchannel: Facultatif. Nom spécifique du canal à récupérer
Exemples de requêtes
Section intitulée “Exemples de requêtes”# Get all channelscurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123"
# Get specific channelcurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next pagecurl -H "authorization: your-api-key" \ "https://api.capgo.app/channel/?app_id=app_123&page=1"Type de réponse
Section intitulée « Type de réponse »interface Channel { id: number; created_at: string; name: string; app_id: string; version: { // bundle (version) assigned to the channel id: number, name: string }; created_by: string; updated_at: string; public: boolean; disableAutoUpdateUnderNative: boolean; disableAutoUpdate: boolean; allow_emulator: boolean; allow_dev: boolean;}Dans la réponse ci-dessous, version fait référence au bundle (version) affecté au canal.
Exemple de réponse
Section intitulée « Exemple de réponse »{ "data": [ { "id": 1, "name": "production", "app_id": "app_123", "version": { "id": 1, "name": "1.0.0" }, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "created_by": "user_123", "public": true, "disableAutoUpdateUnderNative": false, "disableAutoUpdate": false, "allow_emulator": false, "allow_dev": false } ]}SUPPRIMER
Section intitulée « SUPPRIMER »https://api.capgo.app/channel/
Supprimer un canal. Notez que cela affectera tous les appareils utilisant ce canal.
Paramètres de requête
Section intitulée « Paramètres de requête »interface Channel { channel: string app_id: string}Exemple de requête
Section intitulée « Exemple de requête »curl -X DELETE \ -H "authorization: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "app_id": "app_123", "channel": "beta" }' \ https://api.capgo.app/channel/Réponse de succès
Section intitulée « Réponse de succès »{ "status": "ok"}Gestion des erreurs
Section intitulée « Gestion des erreurs »Scénarios d'erreurs courants et leurs réponses :
// Channel not found{ "error": "Channel not found", "status": "KO"}
// Invalid bundle (version) format{ "error": "Invalid version format. Use semantic versioning", "status": "KO"}
// Invalid update policy{ "error": "Invalid disableAutoUpdate value", "status": "KO"}
// Permission denied{ "error": "Insufficient permissions to manage channels", "status": "KO"}Utilisations courantes
Section intitulée « Utilisations courantes »- Test de version bêta
{ "app_id": "app_123", "channel": "beta", "version": "1.2.0-beta", "public": false, "allow_emulator": true, "allow_dev": true}- Déploiement en production
{ "app_id": "app_123", "channel": "production", "version": "1.2.0", "public": true, "disableAutoUpdate": "minor"}- Mises à jour spécifiques au plateforme
{ "app_id": "app_123", "channel": "ios-hotfix", "version": "1.2.1", "ios": true, "android": false}Continuer depuis les canaux
Section intitulée « Continuer depuis les canaux »Si vous utilisez Canaux pour planifier la mise en route des canaux et la mise en production étape par étape, connectez-le à 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 pratiques de l'environnement : mise en scène avec un seul ID d'application mobile pour le contexte pratique dans Capgo Pratiques de l'environnement : Étape de mise en scène avec un seul ID d'application mobile.