Saltare al contenuto principale
Logo di Capgo
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.

Crediti dell'articolo

Martino Donadieu

Autore

Valeria

Revisione

Giordano

Editore

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

Questo è il metodo più sicuro. Ciò comporta:

  1. Ottenere l'ID dispositivo dallo aggiornatore
  2. Inviare il dispositivo 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 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

Per ottenere la tua chiave API:

  1. Accedi al tuo dashboard Capgo
  2. Vai alle Impostazioni > API Chiavi
  3. Clicca su "Genera nuova chiave"
  4. Scegli all modalità per gestire dispositivi e canali
  5. 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:

  1. Vai alla sezione Canali della tua dashboard Capgo
  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à.

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

  1. Utilizza l'assegnazione Backend: Per la produzione, utilizza sempre il metodo di assegnazione backend
  2. Assegnazione Consistente: Utilizza gli ID degli utenti o altri identificatori stabili per un'assegnazione di canale coerente
  3. Monitoraggio: Traccia l'utilizzo delle funzionalità e i metri di prestazione per ogni canale
  4. Avanzi Graduali: Inizia con piccoli segmenti di utenti e espandi gradualmente
  5. 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.

Aggiornamenti in tempo reale per le app Capacitor

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Supporto umano da parte di Martin

Inizia subito

Sostegno umano da Martin

Capgo gives you the best insights you need to create a truly professional mobile app.