Vai direttamente al contenuto principale
Tutorial

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

Impara a 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 contenuto

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

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

Capgo’s canale di rete fornisce un modo flessibile per segmentare gli utenti e controllare l'accesso alle funzionalità. Mentre Capgo non dispone di una gestione di piani integrata o di 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 dei Canali

Questo è il metodo più sicuro. Prevede:

  1. Ottenere l'ID dispositivo dal relativo aggiornatore
  2. Invia i dati 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)
}

Implementazione del backend

Il tuo backend deve:

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

Per ottenere la tua chiave API:

  1. Accedi al tuo dashboard di Capgo
  2. Vai a Impostazioni > Chiavi API
  3. Clicca su “Genera nuova chiave”
  4. Seleziona 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 a 32 caratteri
    • È una chiave segreta che non dovrebbe mai essere esposta nel lato 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 di canali
  • Gestire il limitatore di velocità
  • Implementare la logica di riprova per le assegnazioni fallite

2. Auto-assegnazione (Meno Sicura)

Questa modalità consente ai dispositivi di assegnarsi direttamente a un canale. È utile per i test, 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 assegnarsi automaticamente 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. Nelle impostazioni del canale, abilita “Consenti ai dispositivi di associarsi automaticamente”
  4. Salva le modifiche

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

Implementazione delle Bandiere di Funzionalità

Utilizza 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 dei 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 Consigliate

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

Conclusioni

Con l'ausilio del 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 di backend per una maggiore sicurezza e controllo.

Per ulteriori informazioni sulla gestione dei canali, consultate la nostra __CAPGO_KEEP_0__.

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

Se stai utilizzando Come utilizzare i canali per le bandiere di feature e il testing A/B per pianificare la routing dei canali e la distribuzione in fasi, connettilo con Canali per i dettagli di implementazione in 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 Targeting della Versione per il flusso di lavoro del prodotto in Soluzione di Targeting della Versione.

Aggiornamenti in tempo reale per le app Capacitor

Quando un bug nel layer web è live, invia la correzione attraverso Capgo invece di aspettare 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.