Bagaimana Menggunakan Saluran untuk Flag Fitur dan Uji Coba A/B
Sistem saluran Capgo menyediakan cara yang fleksibel untuk membagi pengguna dan mengontrol akses fitur. Meskipun Capgo tidak memiliki manajemen rencana bawaan atau uji coba A/B, Anda dapat menerapkan fitur-fitur ini dengan mengelola penugasan saluran sendiri.
Pengertian Saluran
Saluran di Capgo memungkinkan Anda:
- Mengarahkan kelompok pengguna tertentu dengan fitur yang berbeda
- Menggunakan uji coba A/B dengan mengasosiasikan pengguna ke saluran yang berbeda
- Menggunakan fitur baru secara bertahap
- Membuat program uji coba beta
Metode Penugasan Saluran
1. Penugasan Backend (Dianjurkan)
Metode ini lebih aman. Ini melibatkan:
- Mendapatkan ID perangkat dari pembarui
- Mengirimkannya ke backend Anda
- Backend Anda memanggil Capgo API untuk menetapkan perangkat
Berikut 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)
}
Implementasi Backend
Backend Anda perlu:
- Mendapatkan kunci API dari dashboard Capgo
- Memanggil Capgo API untuk menetapkan perangkat ke saluran
Untuk mendapatkan kunci API:
- Masuk ke dashboard Capgo Anda
- Pergi ke Pengaturan > Kunci API
- Klik ‘Generate New Key’
- Pilih
allmode untuk mengelola perangkat dan saluran - Salin kunci yang dihasilkan dan simpan dengan aman di variabel lingkungan backend Anda
- Kunci akan berupa string hexadecimal 32 karakter
- Itu adalah kunci rahasia yang tidak boleh pernah terungkap di sisi klien code
Berikut adalah contoh 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
}
}
Backend juga harus:
- Validasi hak akses pengguna
- Log semua pengaturan saluran
- Handle limitasi rate
- Implementasikan logika ulang untuk pengaturan yang gagal
2. Pengasasan Sendiri (Lebih Tidak Aman)
Metode ini memungkinkan perangkat untuk secara langsung menetapkan diri mereka ke dalam sebuah 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 menetapkan diri mereka sendiri ke dalam sebuah saluran, Anda perlu mengaktifkan fitur ini di Capgo dashboard:
- Bergi ke bagian Saluran di dalam Capgo dashboard Anda
- Klik pada nama saluran yang ingin Anda kelola
- Dalam pengaturan saluran, aktifkan "Izinkan perangkat untuk mengasosiasikan sendiri"
- Simpan perubahan
Jika pengaturan ini salah, setiap upaya untuk memanggil setChannel dengan saluran ini akan gagal.
Implementasi Flag Fitur
Gunakan saluran untuk mengontrol akses fitur:
const isFeatureEnabled = async (feature: string) => {
// Example: Check if user is in beta channel
const channel = await getCurrentChannel()
return channel === 'beta'
}
Implementasi Pengujian A/B
Jalankan Uji Coba A/B dengan Mengasosiasi Pengguna ke Saluran yang Berbeda:
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
}
Praktik Terbaik
- Pakai Pengasosiasi Backend: Untuk produksi, selalu gunakan metode pengasosiasi backend
- Pengasosiasi Konsisten: Gunakan ID Pengguna atau Identifikasi Stabil Lainnya untuk Pengasosiasi Saluran yang Konsisten
- Pengawasan: Ikuti penggunaan fitur dan metrik kinerja untuk setiap saluran
- Rollout Berkelanjutan: Mulai dengan segmen pengguna kecil dan secara bertahap memperluas
- Dokumentasi Jelas: Dokumentasikan strategi saluran dan tujuan Anda
Kesimpulan
Dengan memanfaatkan sistem kanal Capgo, Anda dapat membuat pengalaman aplikasi yang lebih personal dan menjalankan tes A/B. Untuk penggunaan produksi, selalu prefer metode pengasasan backend untuk keamanan dan kontrol yang lebih baik.
Untuk informasi lebih lanjut tentang pengelolaan kanal, cek dokumentasi kami tentang Dokumentasi Kanal.
Lanjutkan dari Cara Menggunakan Kanal untuk Flag Fitur dan Tes A/B
Jika Anda menggunakan Cara Menggunakan Kanal untuk Flag Fitur dan Tes A/B untuk merencanakan routing kanal dan peluncuran tahap demi tahap, hubungkannya dengan Kanal context":"Fitur Nama Kanal Rilis Capgo. Halaman/area: Halaman pemasaran solusi Capgo. Peran: Label UI singkat atau item navigasi. Dilihat di: halaman solusi/white-label.astro. Kunci pesan `solutions_white_label_visual_cell2_value` (Nilai Sel Visual Putih Label Solusi)." untuk detail implementasi di Kanal, Kanal (Capgo release channels feature name. Page/area: Capgo solutions marketing page. Role: Short UI label or navigation item. Seen in: page solutions/white-label.astro. Message key `solutions_white_label_visual_cell2_value` (Solutions White Label Visual Cell2 Value). ) Saluran untuk detail implementasi di Saluran, Pengujian Beta Solusi untuk alur produk di Pengujian Beta Solusi, dan Solusi Target Versi untuk alur produk di Solusi Target Versi.