Comment utiliser les canaux pour les drapeaux de fonctionnalité et les tests A/B
Le système de canal de Capgo offre une façon flexible de segmenter les utilisateurs et de contrôler l'accès aux fonctionnalités. Même si Capgo n'a 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 les nouvelles fonctionnalités
- Créer des programmes de test bêta
Méthodes d'affectation de canal
1. Affectation par l'arrière-plan (Recommandée)
C'est la méthode la plus sécurisée. Elle implique :
- Récupérer l'ID du dispositif à partir de l'actualiseur
- L'envoyer à votre arrière-plan
- Votre arrière-plan 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)
}
Mise en œuvre de l'arrière-plan
Votre arrière-plan doit :
- Obtenir une clé API à partir du tableau de bord Capgo
- Appeler le Capgo API pour affecter le dispositif à un canal
Pour obtenir votre clé API :
- Se connecter à votre tableau de bord Capgo
- Allez dans Paramètres > Clés API
- Cliquez sur « Générer une nouvelle clé »
- Sélectionner
allmode pour gérer les appareils et les canaux - 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 doit jamais être exposée 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 taux
- Implémenter la logique de réessai pour les affectations échouées
2. Auto-Attribution (Moins Sécuritaire)
Cette méthode permet aux appareils de s'attribuer directement à un canal. C'est utile pour les tests mais moins sécurisé 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 s'attribuer eux-mêmes à un canal, vous devez activer cette fonctionnalité dans le tableau de bord Capgo :
- Allez dans la section Canaux de votre tableau de bord Capgo
- Cliquez sur le nom du canal que vous souhaitez gérer
- Dans les paramètres du canal, activez « Autoriser les appareils à se lier automatiquement »
- Enregistrez les modifications
Si cette option est fausse, toute tentative de faire appel setChannel avec ce canal échouera.
Implémenter les Drapeaux de Fonctionnalité
Utilisez les canaux pour contrôler l'accès aux fonctionnalités :
const isFeatureEnabled = async (feature: string) => {
// Example: Check if user is in beta channel
const channel = await getCurrentChannel()
return channel === 'beta'
}
Mise en œuvre de l'expérimentation A/B
Exécutez les tests A/B en affectant 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
}
Meilleures pratiques
- Utilisez l'affectation de l'arrière-plan: Pour la production, utilisez toujours la méthode d'affectation de l'arrière-plan
- Affectation cohérente: Utilisez les ID d'utilisateur ou d'autres identifiants stables pour une affectation cohérente des canaux
- Suivi: Suivez l'utilisation des fonctionnalités et les métriques de performance pour chaque canal
- Déploiements progressifs: Commencez avec de petits segments d'utilisateurs et étendez progressivement
- Documentation claireDocumentez votre stratégie de canal et vos objectifs
Conclusion
En exploitant le système de canal de Capgo , vous pouvez créer des expériences d'application plus personnalisées et effectuer des tests A/B. Pour une utilisation en production, préférez toujours la méthode d'affectation backend pour une meilleure sécurité et un contrôle accru.
Pour plus de détails sur la gestion des canaux, consultez notre documentation des canaux.
Continuez à partir de Comment utiliser les canaux pour les drapeaux de fonctionnalité et les tests A/B
Si vous utilisez Comment utiliser les canaux pour les drapeaux de fonctionnalité et les tests A/B pour planifier la mise en route des canaux et la mise en production étapée, 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, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, et Solution de ciblage de version pour le flux de travail du produit dans Solution de ciblage de version.