Canaux
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet 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, ce qui permet des fonctionnalités comme les tests A/B, les lancements étalés et les mises à jour spécifiques au plateau.
Comprendre les canaux
Sous-titre “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 l'ensemble (version): Spécifiez quelle version de l'ensemble les utilisateurs reçoivent
- : Ciblages de plateforme: Ciblez des plateformes spécifiques (iOS/Android/Electron)
- Mises à jour des politiques: Contrôlez comment les mises à jour sont livrées
- Restrictions de dispositif: Gérez lesquels appareils 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êchez les mises à jour lorsque la version native de l'application sur l'appareil est plus récente que la version du bundle (de 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 (de version) 1.2.2)
- disableAutoUpdate: Contrôlez le comportement de mise à jour (“majeur”, “mineur”, “numéro de version”, “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: Maintenir un canal de test pour la validation interne
- Déploiement en phase de test: Utilisez plusieurs canaux pour un déploiement d'actualisation progressive
- Séparation de plateforme: Créez des canaux séparés pour iOS, Android et Electron lorsque nécessaire
- Contrôle de l'ensemble (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 de canal spécifique à 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 suivante, version fait référence au bundle (version) affecté au canal.
Exemple de réponse
Sous-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 } ]}https://api.capgo.app/channel/
Paramètres de requête
Sous-section intitulée “Paramètres de requête”
Copier dans le presse-papierinterface Channel { channel: string app_id: string}protectedTokens
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 »- Tests de 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}