Saltare al contenuto principale
Guida

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

Content Marketer

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

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

Il sistema dei canali di Capgo fornisce un modo flessibile per segmentare gli utenti e controllare l'accesso alle feature. Sebbene Capgo non disponga di una gestione di piani o di testing A/B integrata, puoi implementare queste funzionalità gestendo le assegnazioni dei canali da solo.

Capire i canali

I canali di Capgo ti consentono di:

  • Targeta gruppi di utenti specifici con caratteristiche diverse
  • Esegui test A/B assegnando gli utenti a canali diversi
  • Rilascia gradualmente nuove funzionalità
  • Crea programmi di testing beta

Metodi di assegnazione del canale

Questo è il metodo più sicuro. Prevede:

  1. Ottenere l'ID dispositivo dall'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 di backend

La tua 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 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 a 32 caratteri
    • È una chiave segreta che non dovrebbe mai essere esposta nel code client-side

Esempio di 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
  }
}

La back-end dovrebbe anche:

  • Validare le autorizzazioni dell'utente
  • Registrare tutte le assegnazioni di canale
  • Gestire il limitatore di velocità
  • Implementare la logica di riprova per le assegnazioni fallite

2. Auto-assegnazione (Meno Sicura)

Questo metodo consente ai dispositivi di assegnarsi direttamente a un canale. È utile per le prove, 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, è necessario abilitare questa funzionalità nel dashboard Capgo:

  1. Vai alla sezione Canali del tuo 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 impostamento è falso, 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 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 di backend: Per la produzione, utilizza sempre il metodo di assegnazione di backend
  2. Assegnazione Consistente: Utilizza gli ID degli utenti o altri identificatori stabili per un'assegnazione di canale coerente
  3. Monitoraggio: Tracciare l'utilizzo delle funzionalità e i metri di prestazione per ogni canale
  4. Rilascio Graduale: Iniziare con piccoli segmenti di utenti e espandere gradualmente
  5. Documentazione Chiara: Documentare la strategia e le finalità del canale

Conclusioni

: Sfruttando 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 i test A/B

Se stai utilizzando How to Use Channels for Feature Flags and A/B Testing 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 Soluzione di Test Beta per il workflow del prodotto in Soluzione di Test Beta, e Soluzione di Targetizzazione della Versione per il workflow del prodotto in Soluzione di Targetizzazione della Versione. Soluzione di Test Beta

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.

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

Page/area: Sito web di marketing Capgo. Ruolo: Descrizione di supporto o meta descrizione. Visualizzato in: componente GetStarted.astro. Preservare i termini di prodotto/marca e sviluppatore di Capgo esattamente. Chiave di messaggio `instant_updates_for_capacitor_apps_description` (Descrizione degli aggiornamenti in tempo reale per le app Capacitor).

Sostegno umano da parte di Martin

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