__CAPGO_KEEP_0__ - Mises à jour en temps réel pour les applications __CAPGO_KEEP_1__

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 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
  • 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
  1. Canal de Test: Maintenir un canal de test pour la validation interne
  2. Déploiement en phase de test: Utilisez plusieurs canaux pour un déploiement d'actualisation progressive
  3. Séparation de plateforme: Créez des canaux séparés pour iOS, Android et Electron lorsque nécessaire
  4. Contrôle de l'ensemble (version): Utilisez la versionnement semantique pour des chemins d'actualisation clairs

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

Créer ou mettre à 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 du canal. Retourne 50 canaux par page.

  • app_id: Obligatoire. L'ID de votre application
  • page: Facultatif. Numéro de page pour la pagination
  • channel: Facultatif. Nom de canal spécifique à 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 fait référence 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/

Paramètres de requête

Sous-section intitulée “Paramètres de requête”

Copier dans le presse-papier
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. Tests de 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
}