Saltare al contenuto principale
Guida

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

Crediti dell'articolo

Martin Donadieu

Autore

Valeria

Revisione

Jordan

Redattore

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

How to Utilizzare i Canali per le Bandiere di Funzione e il Testing A/B

Capgo's sistema dei canali offre una modalità 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.

Capire i Canali

Il sistema dei canali di Capgo ti consente 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

Questa è la modalità più sicura. Prevede:

  1. Ottenere l'ID dispositivo dal relativo aggiornatore
  2. Invia a tuo backend
  3. Le chiamate del tuo backend sul 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 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 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 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. Assegnazione autonoma (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 nel 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 chiamare 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 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. Utilizza 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. Rollout graduale: Inizia con piccoli segmenti di utenti e espandi gradualmente
  5. Documentazione chiara: Documenta la tua strategia dei canali e i tuoi scopi

Conclusioni

: Sfruttando il sistema dei canali di Capgo puoi creare esperienze di app più personalizzate e eseguire test A/B. Per la produzione, utilizza sempre il metodo di assegnazione del backend per una maggiore sicurezza e controllo.

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

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 fase di testing, connettilo con Canali context Canali context Canali context Soluzione di Test Beta per il flusso di lavoro del prodotto nella Soluzione di Test Beta, e Soluzione di Targeting della Versione per il flusso di lavoro del prodotto nella Soluzione di Targeting della Versione.

Aggiornamenti in tempo reale per le app Capacitor con Capacitor

Quando un bug nel 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.

Supporto umano da Martin

Inizia subito

Ultimi articoli dal nostro Blog

Capgo vi dà le migliori informazioni che avete bisogno per creare un'app mobile veramente professionale.