Cara Menggunakan Saluran untuk Flag Fitur dan Pengujian A/B
Capgo's sistem saluran menyediakan cara yang fleksibel untuk membagi pengguna dan mengontrol akses fitur. Meskipun Capgo tidak memiliki manajemen rencana bawaan atau pengujian 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 pengujian A/B dengan menugaskan pengguna ke saluran yang berbeda
- Menggunakan fitur baru secara bertahap
- Membuat program pengujian beta
Metode Penugasan Saluran
1. Pengaturan Backend (Dianjurkan)
Ini adalah metode yang lebih aman. Ini melibatkan:
- Mendapatkan ID perangkat dari pembarui
- Mengirimkannya ke backend Anda
- Backend Anda memanggil Capgo API untuk menetapkan perangkat
Ini adalah cara untuk 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 harus:
- Mendapatkan kunci API dari dashboard Capgo
- Menghubungi Capgo API untuk menetapkan perangkat ke saluran
Untuk mendapatkan kunci API:
- Masuk ke dashboard Capgo
- Pergi ke Pengaturan > API Kunci
- 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 penugasan saluran
- Menangani batasan kecepatan
- Implement logika ulang untuk tugas yang gagal
2. Pengasosiasi Otomatis (Lebih Tidak Aman)
Ini metode memungkinkan perangkat untuk secara langsung mengasosiasi diri mereka ke 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 mengasosiasi diri mereka ke sebuah saluran, Anda perlu mengaktifkan fitur ini di Capgo dashboard:
- Pergi ke bagian Saluran di Capgo dashboard Anda
- Klik pada nama saluran yang ingin Anda kelola
- Dalam pengaturan saluran, aktifkan "Izinkan perangkat untuk mengasosiasi diri"
- Simpan perubahan
Jika pengaturan ini palsu, setiap upaya untuk memanggil setChannel menggunakan saluran ini akan gagal.
Mengimplementasikan Flag Fitur
Pakai 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'
}
Aplikasi Uji Coba A/B
Jalankan Uji Coba A/B dengan mengasosiasikan 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 Pengasosiasian Belakang: Untuk produksi, selalu gunakan metode pengasosiasian belakang
- Pengasosiasian Konsisten: Gunakan ID pengguna atau identifikasi stabil lainnya untuk pengasosiasian saluran yang konsisten
- Pengawasan: Ikuti penggunaan fitur dan metrik kinerja untuk setiap saluran
- Rollout Berangsur-angsur: Mulai dengan segmen pengguna kecil dan secara bertahap memperluas
- Dokumentasi Jelas: Dokumentasikan strategi dan tujuan kanal Anda
Kesimpulan
Dengan memanfaatkan sistem kanal Capgo Anda dapat membuat pengalaman aplikasi yang lebih personal dan menjalankan uji coba 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 Dokumentasi Kanal.
Teruskan dari Cara Menggunakan Kanal untuk Flag Fitur dan Uji Coba A/B
Jika Anda menggunakan Cara Menggunakan Kanal untuk Flag Fitur dan Uji Coba A/B untuk merencanakan routing kanal dan peluncuran tahap demi tahap, hubungkannya dengan Kanal untuk detail implementasi di Channel, Kanal untuk detail implementasi di Channels, Saluran untuk detail implementasi di Channels, Solusi Uji Coba Beta untuk alur kerja produk di Solusi Uji Coba Beta, dan Solusi Target Versi untuk alur kerja produk di Solusi Target Versi.