Passer à la navigation

Canaux

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.

Un canal représente une piste de distribution pour les mises à jour de l'application. Chaque canal peut être configuré avec des règles et des contraintes spécifiques :

  • Contrôle de l'ensemble (version): Spécifiez l'ensemble (version) que les utilisateurs reçoivent
  • Ciblage de plateforme: Cible des plateformes spécifiques (iOS/Android/Electron)
  • Politiques de mise à jour: Contrôle comment les mises à jour sont livrées
  • Restrictions de dispositif: Gérer lesquels appareils peuvent accéder aux mises à jour
  • public: Définir le canal par défaut pour les nouveaux appareils
  • disableAutoUpdateUnderNative: Empêcher les mises à jour lorsque la version native de l'application sur l'appareil est supérieure à la version du paquet de mise à jour (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 paquet (version) 1.2.2)
  • disableAutoUpdate: Contrôler le comportement de mise à jour (“majeur”, “mineur”, “version_number”, “aucun”)
  • ios/android/electron: Activer/désactiver pour des plateformes spécifiques
  • autoriser_l_appareil_à_sélectionner_son_canal: Laisser aux appareils choisir leur canal
  • autoriser_l_emulateur: Autoriser les mises à jour sur les appareils émulés
  • autoriser_le_développement: Autoriser les mises à jour sur les builds de développement
  1. Canal de Test: Maintenir un canal de test pour la validation interne
  2. Déploiement Étappé: Utilisez plusieurs canaux pour le déploiement d'actualisations progressives
  3. Platform Separation: Créez des canaux séparés pour iOS, Android et Electron lorsque nécessaire
  4. Bundle (version) Control: Utilisez la gestion de version semantique pour des chemins d'actualisation clairs

https://api.capgo.app/channel/

Créez ou mettez à jour une configuration de canal.

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
}
Fenêtre de terminal
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/
{
"status": "ok"
}

https://api.capgo.app/channel/

Récupérer les informations de la chaîne. Retourne 50 chaînes par page.

  • app_id__CAPGO_KEEP_0__ : Obligatoire. L'ID de votre application
  • page__CAPGO_KEEP_1__ : Facultatif. Numéro de page pour la pagination
  • channel__CAPGO_KEEP_2__ : Facultatif. Nom spécifique de la chaîne à récupérer
Fenêtre de terminal
# Get all channels
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Get specific channel
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&page=1"
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 se réfère au bundle (version) affecté au canal.

{
"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/

Supprimer un canal. Notez que cela affectera tous les appareils utilisant ce canal.

interface Channel {
channel: string
app_id: string
}
Fenêtre de terminal
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/
{
"status": "ok"
}

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"
}
  1. Test de version bêta
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. Déploiement en production
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. Mises à jour spécifiques au plateforme
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}

Si vous utilisez Canaux pour planifier la routage des canaux et le déploiement étape par étape, connectez-le avec 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.