Lompat ke konten utama
Tutorial

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

Belajar bagaimana menggunakan sistem 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

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

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 asosiasi saluran secara mandiri.

Pengertian Saluran

Saluran di Capgo memungkinkan Anda:

  • Mengarahkan kelompok pengguna spesifik dengan fitur yang berbeda
  • Lakukan tes A/B dengan mengalokasikan pengguna ke saluran yang berbeda
  • Luncurkan fitur baru secara bertahap
  • Buat program tes beta

Metode Pengalokasian 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 mengalokasikan 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 harus:

  1. Dapatkan kunci API dari Capgo dashboard
  2. Tetapkan perangkat ke saluran dengan memanggil Capgo API

Untuk mendapatkan kunci API Anda:

  1. Masuk ke dashboard Capgo Anda
  2. Buka Pengaturan > Kunci API
  3. Klik “Buat Kunci Baru”
  4. Pilih all mode untuk mengelola perangkat dan saluran
  5. Salin kunci yang dihasilkan dan simpan dengan aman di variabel lingkungan backend Anda
    • Kunci akan berupa string heksadesimal 32 karakter
    • Itu adalah kunci rahasia yang tidak boleh 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:

  • Mengvalidasi hak akses pengguna
  • Merekam semua pengaturan saluran
  • Mengatur batasan kecepatan
  • Mengimplementasikan logika ulang untuk pengaturan yang gagal

2. Pengaturan Otomatis (Lebih Tidak Aman)

Metode ini memungkinkan perangkat untuk langsung mengasosiasikan diri dengan 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 mengasosiasikan diri dengan saluran secara otomatis, Anda perlu mengaktifkan fitur ini di Capgo dashboard:

  1. Buka bagian Saluran di dashboard Capgo Anda
  2. Klik nama saluran yang ingin Anda kelola
  3. Dalam pengaturan saluran, aktifkan “Izinkan perangkat untuk mengasosiasikan diri secara otomatis”
  4. Simpan perubahan

Jika pengaturan ini palsu, 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 Uji Coba A/B

Lakukan 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

  1. Gunakan Pengasasan Backend: Untuk produksi, selalu gunakan metode pengasasan backend
  2. : Gunakan ID pengguna atau identifikasi stabil lainnya untuk pengasasan saluran yang konsistenPengawasan
  3. Jika pengaturan ini palsu, setiap upaya untuk memanggil __CAPGO_KEEP_0__ dengan saluran ini akan gagal.: Mengikuti penggunaan fitur dan metrik kinerja untuk setiap saluran
  4. Gradual Rollouts: Mulai dengan segmen pengguna kecil dan secara bertahap memperluas
  5. Clear Documentation: Dokumentasikan strategi dan tujuan saluran Anda

Conclusion

Dengan memanfaatkan sistem saluran 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 saluran, silakan cek dokumentasi channels.

Live updates untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update 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 membuat aplikasi mobile profesional.