Tutorial

So verwenden Sie Channels für Feature Flags und A/B Testing

Erfahren Sie, wie Sie die Kanäle von CapGo für Feature-Flags und A/B-Tests nutzen können, indem Sie Benutzer selbst zuweisen oder Ihr Backend verwenden

So verwenden Sie Channels für Feature Flags und A/B Testing

Verwendung von Kanälen für Feature Flags und A/B-Tests

Das Kanalsystem von CapGo bietet eine flexible Möglichkeit, Benutzer zu segmentieren und den Funktionszugriff zu steuern. Während CapGo keine integrierten Plan-Management- oder A/B-Test-Funktionen hat, können Sie diese Funktionen implementieren, indem Sie die Kanalzuweisungen selbst verwalten.

Kanäle verstehen

Kanäle in CapGo ermöglichen es Ihnen:

  • Bestimmte Benutzergruppen mit verschiedenen Funktionen anzusprechen
  • A/B-Tests durchzuführen, indem Benutzer verschiedenen Kanälen zugewiesen werden
  • Neue Funktionen schrittweise einzuführen
  • Beta-Testprogramme zu erstellen

Methoden der Kanalzuweisung

1. Backend-Zuweisung (Empfohlen)

Dies ist die sicherere Methode. Sie beinhaltet:

  1. Abrufen der Geräte-ID vom Updater
  2. Senden an Ihr Backend
  3. Ihr Backend ruft die CapGo API auf, um das Gerät zuzuweisen

So implementieren Sie es:

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. Einen API-Schlüssel vom CapGo Dashboard abrufen
  2. Die CapGo API aufrufen, um das Gerät einem Kanal zuzuweisen

So erhalten Sie Ihren API-Schlüssel:

  1. Melden Sie sich in Ihrem CapGo Dashboard an
  2. Gehen Sie zu Einstellungen > API-Schlüssel
  3. Klicken Sie auf “Neuen Schlüssel generieren”
  4. Wählen Sie den all-Modus zur Verwaltung 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 ist eine 32-stellige Hexadezimalzeichenfolge
    • Es ist ein geheimer Schlüssel, der niemals im Client-seitigen Code offengelegt werden sollte

Hier ein Node.js-Beispiel:

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

Das Backend sollte außerdem:

  • Die Benutzerberechtigungen validieren
  • Alle Kanalzuweisungen protokollieren
  • Rate-Limiting implementieren
  • Wiederholungslogik für fehlgeschlagene Zuweisungen implementieren

2. Selbstzuweisung (Weniger sicher)

Diese Methode ermöglicht es Geräten, sich direkt einem Kanal zuzuweisen. Sie ist nützlich zum Testen, 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 im CapGo Dashboard aktivieren:

  1. Gehen Sie zum Bereich Kanäle in Ihrem CapGo Dashboard
  2. Klicken Sie auf den Kanalnamen, den Sie verwalten möchten
  3. Aktivieren Sie in den Kanaleinstellungen “Geräten erlauben, sich selbst zuzuordnen”
  4. Speichern Sie die Änderungen

Wenn diese Einstellung deaktiviert ist, wird jeder Versuch, setChannel mit diesem Kanal aufzurufen, fehlschlagen.

Feature Flags implementieren

Verwenden Sie Kanäle zur Steuerung des Funktionszugriffs:

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

A/B-Test-Implementierung

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
}

Best Practices

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

Fazit

Durch die Nutzung des Kanalsystems von CapGo können Sie personalisierte App-Erlebnisse erstellen und A/B-Tests durchführen. Für den Produktionseinsatz sollten Sie immer die Backend-Zuweisungsmethode für bessere Sicherheit und Kontrolle bevorzugen.

Weitere Details zur Kanalverwaltung finden Sie in unserer Kanäle-Dokumentation.

Sofortige Updates für CapacitorJS Apps

Pushen Sie Updates, Fixes und Funktionen sofort auf Ihre CapacitorJS-Apps ohne App Store Verzögerungen. Erleben Sie nahtlose Integration, Ende-zu-Ende-Verschlüsselung und Echtzeit-Updates mit Capgo.

Jetzt starten

Neueste Nachrichten

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