Saltare al contenuto principale
Tutorial

Come utilizzare i canali per le bandiere di feature e il testing A/B

Scopri come utilizzare i canali di Capgo per le bandiere di feature e il testing A/B assegnando automaticamente gli utenti o utilizzando il tuo backend

Martin Donadieu

Martin Donadieu

Responsabile del Marketing del Contenuto

Come utilizzare i canali per le bandiere di funzionalità e i test A/B

Come utilizzare i canali per le bandiere di funzionalità e i test A/B

Capgo's sistema dei canali offre una modalità flessibile per segmentare gli utenti e controllare l'accesso alle funzionalità. Sebbene Capgo non abbia una gestione dei piani integrata o dei test A/B, puoi implementare queste funzionalità gestendo le assegnazioni dei canali da te stesso.

Capire i Canali

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 del canale

Questo è il metodo più sicuro. Prevede:

  1. Ottenere l'ID dispositivo dallo aggiornatore
  2. Inviarlo al tuo backend
  3. 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 di backend

Il tuo backend deve:

  1. Ottenere una chiave API dal dashboard Capgo
  2. Chiamare il Capgo API per assegnare il dispositivo a un canale

Inviare la tua chiave API:

  1. Accedi al tuo Capgo dashboard
  2. Vai a Impostazioni > API Chiavi
  3. Clicca su “Genera Chiave Nuova”
  4. Scegli all modalità per gestire dispositivi e canali
  5. Copia la chiave generata e memorizzala in modo sicuro nelle tue variabili di ambiente backend
    • La chiave sarà una stringa esadecimale di 32 caratteri
    • It’s a secret key that should never be exposed in client-side code

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
  • Limitazione della velocità
  • Implementare la logica di riprova per le assegnazioni fallite

2. Auto-assegnazione (Meno Sicura)

Questa funzione 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à nel Capgo dashboard:

  1. Vai alla sezione Canali del tuo Capgo dashboard
  2. Clicca sul nome del canale che desideri gestire
  3. Nella configurazione del canale, abilita “Consenti ai dispositivi di auto-associarsi”
  4. Salva le modifiche

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

Implementare Flag di Feature

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 del testing 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
}

Pratiche Consigliate

  1. Usa l'assegnazione del backend: Per la produzione, utilizza sempre il metodo di assegnazione del backend
  2. Assegnazione coerente: Utilizza gli ID degli utenti o altri identificatori stabili per un'assegnazione coerente dei canali
  3. Monitoraggio: Traccia l'utilizzo delle funzionalità e i metri di prestazione per ogni canale
  4. Rilascio graduale: Inizia con piccoli segmenti di utenti e espandi gradualmente
  5. Documentazione chiara: Documenta la tua strategia e gli scopi del canale

Conclusioni

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 la nostra documentazione sui canali.

Continua da Come utilizzare i canali per le bandiere di feature e test A/B

Se stai utilizzando Come utilizzare i canali per le bandiere di feature e test A/B per pianificare la routing dei canali e la distribuzione in fase di staging, connettilo con I canali per le informazioni di implementazione in I canali, Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di Test Beta per il flusso di lavoro del prodotto in Soluzione di Test Beta, e Soluzione di Targetizzazione della Versione per il flusso di lavoro del prodotto in Soluzione di Targetizzazione della Versione.

Aggiornamenti in tempo reale per le Capacitor app

Quando un bug del layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.