Zum Hauptinhalt springen
Tutorial

Wie man __CAPGO_KEEP_0__-Kanäle für Feature-Flags und A/B-Tests verwendet

Lernen Sie, wie man Capgo-Kanäle für Feature-Flags und A/B-Tests verwendet, indem Sie Benutzer selbst zuweisen oder Ihren Backend verwenden

Martin Donadieu

Martin Donadieu

Content-Marketing-Beauftragter

Wie man __CAPGO_KEEP_0__-Kanäle für Feature-Flags und A/B-Tests verwendet

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

Capgo’s channel system provides a flexible way to segment users and control feature access. While Capgo doesn’t have built-in plan management or A/B testing, you can implement these features by managing channel assignments yourself.

Understanding Channels

Channels in Capgo ermöglichen Ihnen:

  • Zielgruppen mit unterschiedlichen Funktionen ansprechen
  • A/B-Tests durch die Zuweisung von Benutzern zu verschiedenen Kanälen durchführen
  • Neue Funktionen allmählich einleiten
  • Beta-Testprogramme erstellen

Channel Assignment Methods

Dies ist die sicherere Methode. Sie beinhaltet:

  1. Das Geräte-ID von dem Updater abrufen
  2. Senden Sie es an Ihr Backend
  3. Ihr Backend ruft die Capgo API auf, um dem Gerät eine API zuzuweisen

Hier erfahren Sie, wie Sie es umsetzen:

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

Backend-Implementierung

Ihr Backend muss:

  1. Ein API-Schlüssel von der Capgo-Oberfläche erhalten
  2. Die Capgo API aufrufen, um dem Gerät eine API zuzuweisen

Um Ihren API-Schlüssel zu erhalten:

  1. Bei Ihrem Capgo-Konto anmelden
  2. Zu Einstellungen > API-Schlüssel gehen
  3. Auf „Neuen Schlüssel erstellen“ klicken
  4. Auswählen all Modus zum Verwalten von Geräten und Kanälen
  5. Kopieren Sie die generierte Schlüssel und speichern Sie ihn sicher in Ihren Backend-Umgebungsvariablen
    • Der Schlüssel wird ein 32-stelliger hexadezimaler String sein
    • Es ist ein geheimer Schlüssel, der niemals auf der Client-Seite code ausgelagert werden sollte

Hier ist ein Beispiel für 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
  }
}

Der Backend sollte auch:

  • Überprüfen Sie die Berechtigungen des Benutzers
  • Alle Kanälabgaben protokollieren
  • Rate Limiting umsetzen
  • Wiederholungslogik für fehlgeschlagene Zuweisungen implementieren

2. Selbstzuweisung (weniger sicher)

Diese Methode ermöglicht Geräten, sich direkt einem Kanal zuzuweisen. Es ist nützlich für die Testung, aber weniger sicher für die Produktion:

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
}

Bevor Benutzer sich selbst einer Kanal zuweisen können, müssen Sie diese Funktion im Capgo-Dashboard aktivieren:

  1. Gehe zur Kanal-Sektion in Ihrem Capgo-Dashboard
  2. Klicke auf den Namen des Kanals, den du bearbeiten möchtest
  3. In den Kanal-Einstellungen aktiviere 'Zulassen, dass Geräte sich selbst assoziieren'
  4. Speichere die Änderungen

Wenn diese Einstellung falsch ist, schlägt jeder Versuch, diesen Kanal zu verwenden, fehl. setChannel Implementierung von Feature-Flags

Verwende Kanäle, um Zugriff auf Funktionen zu steuern:

Implementierung von A/B-Tests

const isFeatureEnabled = async (feature: string) => {
  // Example: Check if user is in beta channel
  const channel = await getCurrentChannel()
  return channel === 'beta'
}

Läufe A/B-Tests, indem du Benutzer verschiedenen Kanälen zuweist:

Best Practices

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
}

Implementing Feature Flags

  1. Verwenden Sie die Backend-Zuweisung: Für die Produktion verwenden Sie immer die Backend-Zuweisungsmethode
  2. Konsistente Zuweisung: Verwenden Sie Benutzer-IDs oder andere stabile Identifikatoren für eine konsistente Kanalzuweisung
  3. Überwachung: Verfolgen Sie die Verwendung von Funktionen und die Leistungsmetriken für jeden Kanal
  4. Schrittweise Einführung: Beginnen Sie mit kleinen Benutzersegmenten und erweitern Sie allmählich
  5. Klare Dokumentation: Dokumentieren Sie Ihre Kanalstrategie und -zwecke

Zusammenfassung

Mit der Nutzung des Kanalsystems von Capgo können Sie personalisiertere App-Erfahrungen erstellen und A/B-Tests durchführen. Für die Produktion verwenden Sie immer die Backend-Zuweisungsmethode, um eine bessere Sicherheit und Kontrolle zu gewährleisten.

Für weitere Details zu Kanalverwaltung, besuchen Sie unsere Kanal-Dokumentation.

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

Wenn Sie How to Use Channels for Feature Flags and A/B Testing zur Planung der Kanalrouten und der schrittweisen Veröffentlichung verbinden, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanäle Kanäle für die Implementierungsdetails in Kanäle Kanäle für die Implementierungsdetails in Kanäle Beta Testlösung für den Produktworkflow in Beta Testlösung, und Versionziel-Lösung für den Produktworkflow in Versionziel-Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Bug im Weblayer live ist, versenden Sie die Korrektur über Capgo anstatt Tage auf die Genehmigung des App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's!

Neuestes aus unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.