Aller directement au contenu principal
Tutoriel

Comment utiliser les canaux pour les drapeaux de fonctionnalité et les tests A/B

Apprenez à utiliser les canaux de Capgo pour les drapeaux de fonctionnalité et les tests A/B en affectant vous-même des utilisateurs ou en utilisant votre backend

Martin Donadieu

Martin Donadieu

Responsable de contenu

Comment utiliser les canaux pour les drapeaux de fonctionnalité et les tests A/B

How to Use Channels for Feature Flags and A/B Testing

Capgo’s system de canaux offre une façon flexible de segmenter les utilisateurs et de contrôler l'accès aux fonctionnalités. Bien que Capgo n'ai pas de gestion de plan intégrée ou de tests A/B, vous pouvez mettre en œuvre ces fonctionnalités en gérant les affectations de canaux vous-même.

Comprendre les Canaux

Les canaux dans Capgo vous permettent de :

  • Cibler des groupes d'utilisateurs spécifiques avec des fonctionnalités différentes
  • Exécuter des tests A/B en affectant les utilisateurs à différents canaux
  • Rouler progressivement de nouvelles fonctionnalités
  • Créer des programmes de test bêta

Méthodes d'affectation de canaux

C'est la méthode la plus sécurisée. Il s'agit de :

  1. Obtenir l'ID de l'appareil à partir de l'actualiseur
  2. L'envoyer à votre backend
  3. Votre backend appelle le Capgo API pour affecter le dispositif

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. Obtenir une clé API à partir du tableau de bord Capgo
  2. Appeler le Capgo API pour affecter le dispositif à un canal

Pour obtenir votre clé API :

  1. Se connecter à votre tableau de bord Capgo
  2. Allez dans Paramètres > Clés API
  3. Cliquez sur « Générer une nouvelle clé »
  4. Sélectionnez all mode pour gérer les appareils et les canaux
  5. Copiez la clé générée et stockez-la sécurisément dans vos variables d'environnement backend
    • La clé sera une chaîne de 32 caractères en hexadécimal
    • C'est une clé secrète qui ne devrait jamais être exposée dans le code côté client code

Voici un exemple 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 devrait également :

  • Valider les permissions de l'utilisateur
  • Enregistrer toutes les affectations de canaux
  • Gérer la limitation de vitesse
  • Mettre en œuvre une logique de réessai pour les affectations échouées

2. Auto-assignation (Moins sécuritaire)

Cette méthode permet aux appareils de s'assigner directement à un canal. C'est utile pour les tests mais moins sécuritaire pour la 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 se affecter automatiquement à un canal, vous devez activer cette fonctionnalité dans le tableau de bord Capgo :

  1. Allez dans la section Canaux de votre tableau de bord Capgo
  2. Cliquez sur le nom du canal que vous souhaitez gérer
  3. Dans les paramètres du canal, activez « Autoriser aux appareils de s'associer automatiquement »
  4. Enregistrez les modifications

Si cette option est désactivée, toute tentative de communication setChannel Implémenter les Drapeaux de Fonctionnalité

Utilisez les canaux pour contrôler l'accès aux fonctionnalités :

Implémentation de l'Expérimentation A/B

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

Exécutez des tests A/B en affectant les utilisateurs à différents canaux :

Meilleures Pratiques

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
}

Utilisez les canaux pour contrôler l'accès aux fonctionnalités :

  1. Utilisation de l'attribution de l'arrière-plan: Pour la production, utilisez toujours la méthode d'attribution de l'arrière-plan
  2. Attribution cohérente: Utilisez les identifiants d'utilisateur ou d'autres identifiants stables pour une attribution cohérente du canal
  3. Surveillance: Suivez l'utilisation des fonctionnalités et les métriques de performance pour chaque canal
  4. Déploiement progressif: Commencez avec de petits segments d'utilisateurs et étendez progressivement
  5. Documentation claire: Documentez votre stratégie de canal et ses objectifs

Conclusion

En exploitant le système de canal de Capgo , vous pouvez créer des expériences d'applications plus personnalisées et réaliser des tests A/B. Pour la production, utilisez toujours la méthode d'attribution de l'arrière-plan pour une meilleure sécurité et un contrôle amélioré.

Pour plus de détails sur la gestion des canaux, consultez notre documentation des canaux.

Continuez de la section

Si vous utilisez Pour la planification de la mise en route des canaux et du lancement é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, Canaux pour les détails d'implémentation dans Canaux, __CAPGO_KEEP_0__ Solution de Test Beta pour le flux de produit dans Solution de Test Beta, et Solution de ciblage de version pour le flux de produit dans Solution de ciblage de version.

Mises à jour en direct pour les applications Capacitor

Lorsqu'un bug de layer web est en ligne, expédiez la correction par Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

Démarrer maintenant

Dernières actualités de notre Blog

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