Come utilizzare i canali per le bandiere di funzionalità e i test A/B
Capgo offre un sistema di canali flessibile per segmentare gli utenti e controllare l'accesso alle funzionalità. Sebbene Capgo non disponga di una gestione di piani integrata o di test A/B, puoi implementare queste funzionalità gestendo le assegnazioni dei canali da te stesso.
Understanding Channels
I canali in Capgo ti consentono di:
- Targetare gruppi di utenti specifici con funzionalità diverse
- Eseguire test A/B assegnando gli utenti a canali diversi
- Rilasciare gradualmente nuove funzionalità
- Creare programmi di testing beta
Metodi di assegnazione dei canali
1. Assegnazione Backend (Consigliata)
Questo è il metodo più sicuro. Ciò comporta:
- Ottenere l'ID dispositivo dallo aggiornatore
- Inviare il dispositivo al tuo backend
- Il tuo backend chiama il Capgo API per assegnare il dispositivo
Ecco come implementarlo:
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)
}
Impostazione Backend
Il tuo backend deve:
- Ottenere una chiave API dal dashboard Capgo
- Chiamare il Capgo API per assegnare il dispositivo a un canale
Per ottenere la tua chiave API:
- Accedi al tuo dashboard Capgo
- Vai alle Impostazioni > API Chiavi
- Clicca su "Genera nuova chiave"
- Scegli
allmodalità per gestire dispositivi e canali - Copia la chiave generata e memorizzala in modo sicuro nelle tue variabili ambiente backend
- La chiave sarà una stringa esadecimale di 32 caratteri
- È una chiave segreta che non dovrebbe mai essere esposta nel code client-side.
Ecco un esempio in 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
}
}
Il backend dovrebbe anche:
- Validare le autorizzazioni dell'utente
- Registrare tutte le assegnazioni dei canali
- Gestire il limitatore di velocità
- Implementare logica di riprova per assegnazioni fallite
2. Auto-assegnazione (Meno Sicura)
Questa modalità consente ai dispositivi di assegnarsi direttamente a un canale. È utile per le prove, ma meno sicura per la produzione:
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
}
Prima che gli utenti possano auto-assegnarsi a un canale, è necessario abilitare questa funzionalità nella dashboard Capgo:
- Vai alla sezione Canali della tua dashboard Capgo
- Clicca sul nome del canale che desideri gestire
- Nella configurazione del canale, abilita "Consenti ai dispositivi di auto-associarsi"
- Salva le modifiche
Se questo impostazione è falsa, qualsiasi tentativo di chiamare setChannel con questo canale fallirà.
Implementazione delle Bandiere di Funzionalità
Usa i canali per controllare l'accesso alle funzionalità:
const isFeatureEnabled = async (feature: string) => {
// Example: Check if user is in beta channel
const channel = await getCurrentChannel()
return channel === 'beta'
}
Esecuzione Test A/B
Esegui test A/B assegnando gli utenti a diversi canali:
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
}
Pratiche Raccomandate
- Utilizza l'assegnazione Backend: Per la produzione, utilizza sempre il metodo di assegnazione backend
- Assegnazione Consistente: Utilizza gli ID degli utenti o altri identificatori stabili per un'assegnazione di canale coerente
- Monitoraggio: Traccia l'utilizzo delle funzionalità e i metri di prestazione per ogni canale
- Avanzi Graduali: Inizia con piccoli segmenti di utenti e espandi gradualmente
- Documentazione Chiara: Documenta la tua strategia e gli scopi del canale
Conclusion
Utilizzando il sistema dei canali di Capgo, puoi creare esperienze di app più personalizzate e eseguire test A/B. Per l'uso in produzione, preferisci sempre il metodo di assegnazione backend per una maggiore sicurezza e controllo.
Per ulteriori informazioni sulla gestione dei canali, consulta il nostro documentazione sui canali.
Continua da Come utilizzare i canali per le bandiere di feature e i test A/B
Se stai utilizzando Come utilizzare i canali per le bandiere di feature e i test A/B per pianificare la routing dei canali e la distribuzione in fasi, connettilo con Canali per i dettagli di implementazione nei canali, Canali per i dettagli di implementazione nei canali Canali per i dettagli di implementazione nei canali Soluzione di Test Beta per il workflow del prodotto nella Soluzione di Test Beta. Soluzione di targeting per versione per il workflow del prodotto nella Version Targeting Solution.