Zum Hauptinhalt springen
Tutorial

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

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

Artikelcredits

Martin Donadieu

Autor

Valeria

Rezensent

Jordan

Redakteur

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

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

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.

Kanäle verstehen

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
  • Ein Beta-Testprogramm zu erstellen

Methode zur Kanalzuweisung

Dies ist die sicherere Methode. Sie beinhaltet:

  1. Das Abrufen der Geräte-ID vom Updater
  2. Das Senden davon an Ihren Backend-Server
  3. Ihr Backend ruft die Capgo API auf, um der Geräte eine Kanal zuzuweisen

Hier ist, 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)
}

Backend-Implementierung

Ihr Backend muss:

  1. Ein API-Schlüssel von der Capgo-Oberfläche abrufen
  2. Die Capgo API aufrufen, um der Geräte einen Kanal zuzuweisen

Um Ihren API-Schlüssel zu erhalten:

  1. Sich bei Ihrem Capgo-Konto anmelden
  2. Zu Einstellungen > API-Schlüssel gehen
  3. Klicken Sie auf ‘Neue Schlüssel generieren’
  4. Wählen Sie all den Modus zum Verwalten von Geräten und Kanälen
  5. Kopieren Sie den generierten 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

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:

  • Die Berechtigungen des Benutzers validieren
  • Alle Kanälabgaben protokollieren
  • Rate Limiting handhaben
  • Für fehlgeschlagene Zuweisungen eine Wiederholungslogik implementieren

2. Selbstzuweisung (weniger sicher)

Dieser Methoden ermöglicht Geräten, sich direkt einer Kanal zuzuweisen. Sie 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 in der Capgo-Oberfläche aktivieren:

  1. Gehe zur Kanal-Sektion in Ihrer Capgo-Oberfläche
  2. Klicke auf den Kanalnamen, den du verwalten möchtest
  3. In den Kanal-Einstellungen aktiviere 'Geräten die Selbstzuweisung erlauben'
  4. Speichere die Änderungen

Wenn diese Einstellung falsch ist, wird jede Anfrage mit diesem Kanal fehlschlagen. setChannel Implementierung von Feature-Flags

Verwende Kanäle zur Kontrolle des Zugriffs auf Funktionen:

Einführung von A/B-Tests

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

2. Selbstzuweisung (weniger sicher)

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

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. Backend-Zuweisung verwenden: 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 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 Capgo-Kanalkonzepts können Sie personalisiertere App-Erfahrungen erstellen und A/B-Tests durchführen. Für die Produktionsnutzung bevorzugen Sie immer die Backend-Zuweisungsmethode für bessere Sicherheit und Kontrolle.

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

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

Wenn Sie Channels für die Planung der Kanalroutings und die gestufte Rollout verwenden, 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. Kanäle Für die Implementierungsdetails in Kanäle, Testlösung für Beta-Phase Für den Produktworkflow in Testlösung für Beta-Phase, und Zielgruppenziel-Lösung Für den Produktworkflow in Zielgruppenziel-Lösung.

Live-Updates für Capacitor-Apps

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

Menschliche Unterstützung von Martin

Jetzt loslegen

Neueste von unserem Blog

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