Zum Hauptinhalt springen
Anleitung

Wie Sie Kanäle für Feature-Flags und A/B-Tests verwenden

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

Artikelcredits

Martin Donadieu

Autor

Valeria

Rezensent

Jordan

Redakteur

Wie Sie Kanäle für Feature-Flags und A/B-Tests verwenden

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

Capgo’s Kanal-System bietet eine flexible Möglichkeit, Benutzer zu segmentieren und die Zugriffsberechtigungen auf Funktionen zu steuern. Während Capgo keine integrierte Planverwaltung oder A/B-Tests bietet, können Sie diese Funktionen durch die Verwaltung der Kanalzuweisungen selbst implementieren.

Verständnis von Kanälen

Kanäle in Capgo ermöglichen Ihnen:

  • Benutzergruppen mit unterschiedlichen Funktionen anzusprechen
  • A/B-Tests durch die Zuweisung von Benutzern zu verschiedenen Kanälen durchzuführen
  • Neue Funktionen allmählich zu rollen
  • Erstellung von Beta-Testprogrammen

Methode zur Kanalzuweisung

Diese Methode ist sicherer. Sie beinhaltet:

  1. Das Geräte-ID von dem Updater zu erhalten
  2. Es wird an Ihren Backend gesendet
  3. Ihr Backend ruft die Capgo API auf, um dem Gerät eine Zugehörigkeit zuzuweisen

Hier erfahren Sie, wie Sie es implementieren können:

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

Hintergrundimplementierung

Ihr Backend muss:

  1. Einen API-Schlüssel von der Capgo-Oberfläche erhalten
  2. Die Capgo API aufrufen, um dem Gerät eine Zugehörigkeit 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. Wählen all Methode zur Verwaltung 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
  • Loggen Sie alle Kanalzuweisungen
  • Behandeln Sie die Rate-Begrenzung
  • Implementieren Sie eine Wiederholungslogik für fehlgeschlagene Zuweisungen

2. Selbstzuweisung (weniger sicher)

Diese Methode ermöglicht es Geräten, sich direkt einer Kanal zuweisen. Sie ist für die Testung nützlich, 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 in Ihrem Capgo-Dashboard aktivieren:

  1. Gehen Sie zur Kanal-Sektion in Ihrem Capgo-Dashboard
  2. Klicken Sie auf den Namen des Kanals, den Sie verwalten möchten
  3. In den Kanal-Einstellungen aktivieren Sie "Zulassen, dass Geräte sich selbst zuweisen"
  4. Speichern Sie die Änderungen

Wenn diese Einstellung falsch ist, schlägt jeder Versuch, __CAPGO_KEEP_0__ mit diesem Kanal aufzurufen, fehl. setChannel Implementierung von Feature-Flags

Verwenden Sie 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'
}

Führen Sie A/B-Tests durch, indem Sie Benutzer verschiedenen Kanälen zuweisen:

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
}

Best Practices

  1. Verwenden Sie 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 Leistungsmetriken für jeden Kanal
  4. Schrittweise Rollouts: Beginnen Sie mit kleinen Benutzersegmenten und erweitern Sie allmählich
  5. Klare Dokumentation: Dokumentieren Sie Ihre Kanalstrategie und -zwecke

Zusammenfassung

: Durch die Nutzung von Capgo’s Kanalsystem 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 der Kanalverwaltung, besuchen Sie unsere Dokumentation zu den Kanälen.

Weiter zu How to Use Kanäle für Feature Flags und A/B-Testing

Wenn Sie Kanäle für die Feature-Flag- und A/B-Test-Implementierung verwenden How to Use Kanäle für Feature Flags und A/B-Testing um die Kanalrouten und die geplante Rollout-Phase zu planen, verbinden Sie es mit Kanäle für die Implementierungsdetails in Kanälen Kanäle für die Implementierungsdetails in Kanälen Kanäle für die Implementierungsdetails in Kanälen Beta Testlösung für das Produktworkflow in Beta Testlösung, und Versionziel-Lösung für das Produktworkflow in Versionziel-Lösung.

Live-Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, schicken Sie die Reparatur über Capgo anstatt Tage für die Genehmigung des App-Store abzuwarten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Menschliche Unterstützung von Martin

Los geht's jetzt

Neueste von unserem Blog

Capgo gibt Ihnen die besten Einblicke, die Sie benötigen, um ein wirklich professionelles Mobiltelefon-App zu erstellen.