Lompat ke konten utama
Tutorial

Cara Menggunakan Saluran untuk Flag Fitur dan Uji Coba A/B

Belajar cara menggunakan saluran Capgo untuk flag fitur dan uji coba A/B dengan mengasosiasikan pengguna secara mandiri atau menggunakan backend Anda

Martin Donadieu

Martin Donadieu

Pengembang Konten

Cara Menggunakan Saluran untuk Flag Fitur dan Uji Coba A/B

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.

Memahami Saluran

Saluran di Capgo memungkinkan Anda:

  • Mengarahkan kelompok pengguna tertentu dengan fitur yang berbeda
  • Menggunakan tes A/B dengan mengasosiasikan pengguna ke saluran yang berbeda
  • Mengimplementasikan fitur baru secara bertahap
  • Membuat program tes beta

Metode Pengasosiasian Saluran

Metode ini lebih aman. Ini melibatkan:

  1. Mengambil ID perangkat dari pembarui
  2. Mengirimkannya ke backend Anda
  3. Backend Anda memanggil Capgo API untuk menetapkan perangkat

Ini cara melaksanakannya:

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

Pengimplementasian Backend

Backend Anda perlu:

  1. Mendapatkan kunci API dari dashboard Capgo
  2. Menghubungi Capgo API untuk menetapkan perangkat ke saluran

Untuk mendapatkan kunci API Anda:

  1. Masuk ke dashboard Capgo Anda
  2. Pergi ke Pengaturan > Kunci API
  3. Klik ‘Generate New Key’
  4. Pilih all mode untuk mengelola perangkat dan saluran
  5. Salinlah kunci yang dihasilkan dan simpanlah dengan aman di variabel lingkungan backend Anda
    • Kunci akan berupa string hexadecimal 32 karakter
    • Ini adalah kunci rahasia yang tidak boleh terungkap di sisi klien code

Contoh Node.js berikut ini:

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

Backend juga harus:

  • Mengvalidasi izin pengguna
  • Mengikuti semua pengaturan saluran
  • Mengatur batasan kecepatan
  • Mengimplementasikan logika ulang untuk pengaturan yang gagal

2. Pengasasan Sendiri (Lebih Tidak Aman)

Metode ini memungkinkan perangkat untuk secara langsung mengasaskan diri mereka ke dalam saluran. Ini berguna untuk pengujian tetapi kurang aman untuk produksi:

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
}

Sebelum pengguna dapat menugaskan diri ke sebuah saluran, Anda perlu mengaktifkan fitur ini di dashboard Capgo:

  1. Bergi ke bagian Saluran di dashboard Capgo Anda
  2. Klik pada nama saluran yang ingin Anda kelola
  3. Dalam pengaturan saluran, aktifkan “Izinkan perangkat untuk berasosiasi sendiri”
  4. Simpan perubahan

Jika pengaturan ini salah, setiap upaya untuk memanggil setChannel Implementasi Flag Fitur

Gunakan saluran untuk mengontrol akses fitur:

Implementasi Uji Coba A/B

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

Lakukan uji coba A/B dengan menugaskan pengguna ke saluran yang berbeda:

Praktik Terbaik

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
}

Penggunaan Saluran

  1. Gunakan Tugas Backend: Untuk produksi, selalu gunakan metode tugas backend
  2. Penugasan Konsisten: Gunakan ID pengguna atau identifikasi stabil lainnya untuk penugasan saluran yang konsisten
  3. Pengawasan: Ikuti penggunaan fitur dan metrik kinerja untuk setiap saluran
  4. Rollout Berangsur-angsur: Mulai dengan segmen pengguna kecil dan secara bertahap memperluas
  5. Dokumentasi Jelas: Dokumentasikan strategi saluran dan tujuan Anda

Kesimpulan

Dengan memanfaatkan sistem saluran Capgo’, Anda dapat membuat pengalaman aplikasi yang lebih personal dan menjalankan uji coba A/B. Untuk produksi, selalu prefer metode penugasan backend untuk keamanan dan kontrol yang lebih baik.

Untuk informasi lebih lanjut tentang pengelolaan saluran, silakan cek dokumentasi __CAPGO_KEEP_0__.

Teruskan dari Cara Menggunakan Saluran untuk Flag Fitur dan Uji Coba A/B

Jika Anda menggunakan Cara Menggunakan Saluran untuk Flag Fitur dan Uji Coba A/B untuk merencanakan routing saluran dan peluncuran tahap demi tahap, hubungkannya dengan Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Saluran untuk detail implementasi di Saluran, Solusi Pengujian Beta untuk alur kerja produk di Solusi Pengujian Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.

Pembaruan Langsung untuk Capacitor aplikasi

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur review normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan sebuah aplikasi mobile yang benar-benar profesional.