Zum Hauptinhalt springen
Tutorial

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

Erhalten Sie Informationen, wie man Capgo's Kanäle für Feature-Flags und A/B-Testing verwendet, indem Sie Benutzer selbst zuweisen oder Ihren Backend verwenden

Martin Donadieu

Martin Donadieu

Content Marketer

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

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

Capgo's Kanal-System bietet eine flexible Möglichkeit, Benutzer zu segmentieren und die Zugriffsberechtigung auf Funktionen zu steuern. Während Capgo keine integrierte Planverwaltung oder A/B-Testing bietet, können Sie diese Funktionen durch die Verwaltung der Zuweisung von Kanälen selbst implementieren.

Kanäle verstehen

Kanäle in Capgo ermöglichen Ihnen:

  • Benutzergruppen mit unterschiedlichen Funktionen anziehen
  • A/B-Tests durchführen, indem Benutzer verschiedenen Kanälen zugewiesen werden
  • Neue Funktionen allmählich bereitstellen
  • Beta-Testprogramme erstellen

Kanalzuweisungsmethoden

Dies ist die sicherere Methode. Sie umfasst:

  1. Geräte-ID von dem Updater erhalten
  2. Sie an Ihren Hintergrund senden
  3. Ihr Hintergrund ruft die Capgo API auf, um dem Gerät zuzuweisen

Hier erfahren Sie, wie Sie es implementieren:

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 Hintergrund muss:

  1. Erhalten Sie einen API-Schlüssel von der Capgo-Oberfläche
  2. Rufen Sie die Capgo-API auf, um das Gerät einer Kanal zu zuweisen

Um Ihren API-Schlüssel zu erhalten:

  1. Melden Sie sich bei Ihrem Capgo-Konto an
  2. Gehe zu Einstellungen > API-Schlüssel
  3. Klicken Sie auf „Neuen Schlüssel erstellen“
  4. Wählen Sie all 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 in Client-Seiten-code offenbart 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
  }
}

Die Backend-Instanz sollte auch:

  • Die Benutzerrechte überprüfen
  • Alle Kanalzuweisungen protokollieren
  • Rate Limiting handhaben
  • Wiederholungslogik für fehlgeschlagene Zuweisungen implementieren

2. Selbstzuweisung (weniger sicher)

Diese Methode ermöglicht Geräten, sich direkt einem Kanal zuzuweisen. 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 einem Kanal zuweisen können, müssen Sie diese Funktion in Ihrem Capgo-Dashboard aktivieren:

  1. Gehen Sie in Ihrem Capgo-Dashboard zur Kanalübersicht
  2. Klicken Sie auf den Kanalnamen, den Sie verwalten möchten
  3. In den Kanal-Einstellungen aktivieren Sie 'Geräten die Selbstzuweisung erlauben'
  4. Die Änderungen speichern

Wenn diese Einstellung falsch ist, schlägt jeder Versuch, diese Methode aufzurufen, fehl. setChannel Mit diesem Kanal wird der Aufruf fehlschlagen.

Implementierung von Feature-Flags

Verwenden Sie Kanäle, um Zugriff auf Funktionen zu steuern:

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

Implementierung von A/B-Tests

Führen Sie A/B-Tests durch, 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
}

Gute Praktiken

  1. Verwenden Sie die Backend-Zuweisung: Für die Produktion verwenden Sie immer die Backend-Zuweisungsmethode
  2. : Verwenden Sie Benutzer-IDs oder andere stabile Identifikatoren für eine konsistente KanalzuweisungÜberwachung
  3. __CAPGO_KEEP_0__: Nutzungs- und Leistungsmetriken für jeden Kanal verfolgen
  4. Gradual Rollouts: Mit kleinen Benutzersegmenten beginnen und allmählich ausweiten
  5. Clear Documentation: Ihre Kanalstrategie und -zwecke dokumentieren

Conclusion

Durch die Nutzung des Kanalsystems von Capgo 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 channels Dokumentation.

Live Updates für Capacitor-Apps

Wenn ein Web-Schicht-Bug live ist, liefern Sie die Reparatur über Capgo anstatt Tage auf die Genehmigung der App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Verfahren bleiben.

Los geht's jetzt

Neuestes aus unserem Blog

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