Aller au contenu principal
Tutoriel

Comment utiliser les canaux pour les feature flags et les tests A/B

Découvrez comment utiliser les canaux de Capgo pour vos feature flags et vos tests A/B en assignant vous-même les utilisateurs ou via votre backend

Comment utiliser les canaux pour les feature flags et les tests A/B Capgo illustration du blog

Comment utiliser les canaux pour les feature flags et les tests A/B

Le système de canaux de Capgo offre une méthode flexible pour segmenter les utilisateurs et contrôler l’accès aux fonctionnalités. Bien que Capgo ne dispose pas de gestion de plans intégrée ni de tests A/B, vous pouvez implémenter ces fonctionnalités en gérant vous-même les affectations de canaux.

Comprendre les canaux

Les canaux de Capgo vous permettent de :

  • Cibler des groupes d'utilisateurs avec des fonctionnalités différentes
  • Réalisez des tests A/B en assignant les utilisateurs à différents canaux
  • Déployez progressivement de nouvelles fonctionnalités
  • Créez des programmes de bêta-test

Méthodes d'assignation des canaux

C'est la méthode la plus sécurisée. Elle consiste à :

  1. Récupérer l'ID de l'appareil depuis l'updater
  2. L'envoyer à votre backend
  3. Votre backend appelle l'Capgo API pour assigner l'appareil

Voici comment l'implémenter :

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Get device ID
const getDeviceId = async () => {
  const { deviceId } = await CapacitorUpdater.getDeviceId()
  return deviceId
}

// Send device ID to your backend
const assignToChannel = async (channel: string) => {
  const deviceId = await getDeviceId()
  // Your backend will call Capgo API to assign the device
  await yourBackend.assignDeviceToChannel(deviceId, channel)
}

Implémentation backend

Votre backend doit :

  1. Récupérer une clé API depuis le dashboard Capgo
  2. Appeler l'API Capgo pour assigner l'appareil à un canal

Pour obtenir votre clé API :

  1. Connectez-vous à votre dashboard Capgo
  2. Allez dans Settings > API Keys
  3. Cliquez sur « Generate New Key »
  4. Sélectionnez all mode pour gérer les appareils et les canaux
  5. Copiez la clé générée et conservez-l’en lieu sûr dans les variables d'environnement de votre backend
    • La clé sera une chaîne hexadécimale de 32 caractères
    • C'est une clé secrète qui ne doit jamais être exposée dans le code côté client

Voici un exemple en Node.js :

import axios from 'axios'

const CAPGO_API_KEY = 'your_api_key'
const CAPGO_API_URL = 'https://api.capgo.app'

async function assignDeviceToChannel(deviceId: string, channel: string) {
  try {
    const response = await axios.post(
      `${CAPGO_API_URL}/device`,
      {
        app_id: 'YOUR_APP_ID',
        device_id: deviceId,
        channel: channel
      },
      {
        headers: {
          'authorization': CAPGO_API_KEY,
          'Content-Type': 'application/json'
        }
      }
    )
    return response.data
  } catch (error) {
    console.error('Failed to assign device to channel:', error)
    throw error
  }
}

Le backend doit également :

  • Valider les permissions de l’utilisateur
  • Journaliser toutes les affectations de canaux
  • Gérer la limitation de débit
  • Implémenter une logique de retry pour les affectations en échec

2. Auto-assignation (moins sécurisée)

Cette méthode permet aux appareils de s’assigner directement à un canal. Pratique pour les tests, mais moins sécurisé en production :

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Assign device to channel
const assignToChannel = async (channel: string) => {
  await CapacitorUpdater.setChannel(channel)
}

// Get current channel
const getCurrentChannel = async () => {
  const { channel } = await CapacitorUpdater.getChannel()
  return channel
}

Avant que les utilisateurs puissent s’auto-assigner à un canal, vous devez activer cette fonctionnalité dans le dashboard Capgo :

  1. Accédez à la section Canaux de votre dashboard Capgo
  2. Cliquez sur le nom du canal que vous souhaitez gérer
  3. Dans les paramètres du canal, activez « Autoriser les appareils à s’auto-assigner »
  4. Enregistrer les modifications

Si ce paramètre vaut false, toute tentative d'appel setChannel avec ce canal échouera.

Implémenter des feature flags

Use channels to control feature access:

const isFeatureEnabled = async (feature: string) => {
  // Example: Check if user is in beta channel
  const channel = await getCurrentChannel()
  return channel === 'beta'
}

Implémentation des tests A/B

Lancez des tests A/B en assignant les utilisateurs à différents canaux :

const assignToABTest = async (userId: string) => {
  // Use consistent hashing to assign users
  const hash = await hashUserId(userId)
  const variant = hash % 2 === 0 ? 'variant-a' : 'variant-b'
  
  await assignToChannel(variant)
  return variant
}

Bonnes pratiques

  1. Utiliser l'assignation backend: En production, utilisez toujours la méthode d'assignation backend
  2. Assignation cohérente: Utilisez les ID utilisateur ou d'autres identifiants stables pour une assignation cohérente des canaux
  3. Suivi: Suivez l'utilisation des fonctionnalités et les métriques de performance de chaque canal
  4. Déploiements progressifs: Commencez par de petits segments d'utilisateurs et élargissez progressivement
  5. Documentation claire: Documentez votre stratégie de canaux et leurs objectifs

Conclusion

Grâce au système de canaux de Capgo, vous pouvez créer des expériences d'application plus personnalisées et lancer des tests A/B. En production, privilégiez toujours l'assignation via le backend pour plus de sécurité et de contrôle.

Pour en savoir plus sur la gestion des canaux, consultez notre documentation sur les canaux.

Continuer avec « Comment utiliser les canaux pour les feature flags et les tests A/B »

Si vous utilisez Comment utiliser les canaux pour les feature flags et les tests A/B pour planifier le routage des canaux et le déploiement progressif, connectez-l’avec Canaux pour les détails d'implémentation des canaux, Canaux pour les détails d'implémentation des canaux, Canaux pour les détails d'implémentation des canaux, Solution de bêta-test pour le workflow produit de la Solution de bêta-test, et Solution de ciblage de version pour le workflow produit de la Solution de ciblage de version.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.