Tutorial

Cara Menggunakan Channel untuk Feature Flags dan A/B Testing

Pelajari cara menggunakan saluran CapGo untuk feature flag dan pengujian A/B dengan menetapkan pengguna secara otomatis atau menggunakan backend Anda

Cara Menggunakan Channel untuk Feature Flags dan A/B Testing

Come utilizzare i Canali per Feature Flag e Test A/B

Il sistema dei canali di CapGo fornisce un modo flessibile per segmentare gli utenti e controllare l’accesso alle funzionalità. Sebbene CapGo non abbia una gestione dei piani o test A/B integrati, puoi implementare queste funzionalità gestendo autonomamente le assegnazioni dei canali.

Comprendere i Canali

I canali in CapGo ti permettono di:

  • Targetizzare gruppi specifici di utenti con diverse funzionalità
  • Eseguire test A/B assegnando gli utenti a canali diversi
  • Rilasciare gradualmente nuove funzionalità
  • Creare programmi di beta testing

Metodi di Assegnazione dei Canali

1. Assegnazione Backend (Consigliato)

Questo è il metodo più sicuro. Prevede:

  1. Ottenere l’ID del dispositivo dall’updater
  2. Inviarlo al tuo backend
  3. Il tuo backend chiama l’API CapGo 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)
}

Implementazione Backend

Il tuo backend deve:

  1. Ottenere una chiave API dalla dashboard CapGo
  2. Chiamare l’API CapGo per assegnare il dispositivo a un canale

Per ottenere la tua chiave API:

  1. Accedi alla tua dashboard CapGo
  2. Vai su Impostazioni > Chiavi API
  3. Clicca su “Genera Nuova Chiave”
  4. Seleziona la modalità all per gestire dispositivi e canali
  5. Copia la chiave generata e salvala in modo sicuro nelle variabili d’ambiente del tuo backend
    • La chiave sarà una stringa esadecimale di 32 caratteri
    • È una chiave segreta che non dovrebbe mai essere esposta nel codice lato client

Ecco un esempio in Nodejs:

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 i permessi dell’utente
  • Registrare tutte le assegnazioni dei canali
  • Gestire il rate limiting
  • Implementare la logica di retry per le assegnazioni fallite

2. Auto-Assegnazione (Meno Sicuro)

Questo metodo permette ai dispositivi di assegnarsi direttamente a un canale. È utile per i test ma meno sicuro 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, devi abilitare questa funzionalità nella dashboard CapGo:

  1. Vai alla sezione Canali nella tua dashboard CapGo
  2. Clicca sul nome del canale che vuoi gestire
  3. Nelle impostazioni del canale, abilita “Permetti ai dispositivi di auto-associarsi”
  4. Salva le modifiche

Se questa impostazione è falsa, qualsiasi tentativo di chiamare setChannel con questo canale fallirà

Implementazione dei Feature Flag

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'
}

Implementazione Test A/B

Esegui test A/B assegnando gli utenti a canali diversi:

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
}

Best Practice

  1. Usa l’Assegnazione Backend: Per la produzione, usa sempre il metodo di assegnazione backend
  2. Assegnazione Consistente: Usa ID utente o altri identificatori stabili per un’assegnazione consistente dei canali
  3. Monitoraggio: Traccia l’utilizzo delle funzionalità e le metriche di performance per ogni canale
  4. Rilasci Graduali: Inizia con piccoli segmenti di utenti e espandi gradualmente
  5. Documentazione Chiara: Documenta la tua strategia e gli scopi dei canali

Conclusione

Sfruttando il sistema dei canali di CapGo, puoi creare esperienze app più personalizzate ed eseguire test A/B. Per l’uso in produzione, preferisci sempre il metodo di assegnazione backend per una migliore sicurezza e controllo.

Per maggiori dettagli sulla gestione dei canali, consulta la nostra documentazione sui canali

Aggiornamenti Istantanei per le App di CapacitorJS

Invia aggiornamenti, correzioni e funzionalità istantaneamente alle tue app CapacitorJS senza ritardi dell'app store. Sperimenta un'integrazione senza soluzione di continuità, crittografia end-to-end e aggiornamenti in tempo reale con Capgo.

Inizia Ora

Ultimissime notizie

Capgo te ofrece las mejores ideas que necesitas para crear una aplicación móvil verdaderamente profesional.