Saltar al contenido principal
Guía de tutoría

Cómo usar canales para banderas de características y pruebas A/B

Aprende a usar los canales de Capgo para banderas de características y pruebas A/B asignando usuarios manualmente o utilizando tu backend

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Cómo usar canales para banderas de características y pruebas A/B

How to Use Channels for Feature Flags and A/B Testing

El sistema de canales de Capgo ofrece una forma flexible de segmentar a los usuarios y controlar el acceso a las características. Si bien Capgo no cuenta con la gestión de planes ni pruebas A/B integradas, puede implementar estas características gestionando las asignaciones de canales usted mismo.

Entendiendo los Canales

Los canales en Capgo te permiten:

  • Dirigir grupos de usuarios específicos con características diferentes
  • Ejecutar pruebas A/B asignando a los usuarios a diferentes canales
  • Implementar nuevas características de manera gradual
  • Crear programas de pruebas beta

Métodos de Asignación de Canales

Este es el método más seguro. Implica:

  1. Obtener el ID del dispositivo desde el actualizador
  2. Enviar a su backend
  3. Su backend llama a la Capgo API para asignar el dispositivo

Aquí está cómo implementarlo:

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

Implementación de Backend

Su backend necesita:

  1. Obtener una clave API desde la consola de Capgo
  2. Llamar a la Capgo API para asignar el dispositivo a un canal

Para obtener su clave API:

  1. Iniciar sesión en su consola de Capgo
  2. Ir a Configuración > Claves API
  3. Hacer clic en "Generar Nueva Clave"
  4. Seleccionar all modo para administrar dispositivos y canales
  5. Copie la clave generada y almacénela de manera segura en tus variables de entorno de backend
    • La clave será una cadena hexadecimal de 32 caracteres
    • Es una clave secreta que nunca debe ser expuesta en el lado del cliente code

Aquí tienes un ejemplo de 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
  }
}

El backend también debe:

  • Validar las permisos del usuario
  • Registrar todas las asignaciones de canales
  • Gestionar el límite de velocidad
  • Implementar la lógica de reintento para asignaciones fallidas

2. Autoasignación (Menos Seguro)

Este método permite que los dispositivos se asignen directamente a un canal. Es útil para pruebas pero menos seguro para producción:

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
}

Antes de que los usuarios puedan asignarse automáticamente a un canal, debes habilitar esta función en la consola de Capgo:

  1. Ve a la sección de canales en tu consola de Capgo
  2. Haz clic en el nombre del canal que deseas gestionar
  3. En la configuración del canal, habilita "Permitir que los dispositivos se asocien automáticamente"
  4. Guarda los cambios

Si esta configuración está desactivada, cualquier intento de llamar setChannel con este canal fallará.

Implementación de Flags de Funcionalidad

Utiliza los canales para controlar el acceso a las funcionalidades:

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

Implementación de Pruebas A/B

Ejecuta pruebas A/B asignando a los usuarios a diferentes canales:

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
}

Consejos de Práctica

  1. Utilice la asignación de backend: Para producción, utilice siempre el método de asignación de backend
  2. Asignación Consistente: Utilice IDs de usuario o otros identificadores estables para una asignación de canal consistente
  3. Monitoreo: Registre el uso de características y métricas de rendimiento para cada canal
  4. Despliegues Graduales: Comience con segmentos de usuarios pequeños y amplíe gradualmente
  5. Documentación Clara: Documente su estrategia de canales y propósitos

Conclusión

: Al aprovechar el sistema de canales de Capgo , puede crear experiencias de aplicación más personalizadas y realizar pruebas A/B. Para uso de producción, siempre prefiera el método de asignación de backend por una mayor seguridad y control.

Para obtener más detalles sobre la gestión de canales, consulte nuestra documentación de canales.

Sigue adelante desde Cómo usar canales para banderas de características y pruebas A/B

Si está utilizando Cómo usar canales para banderas de características y pruebas A/B para planificar la ruta de los canales y la implementación de lanzamientos escalonados, conecte con Canales contexto: nombre de la característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de IU corta o elemento de navegación. Visto en: página soluciones/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label). para obtener detalles de implementación en Canales, Canales contexto: nombre de la característica de canales de Capgo. Página/área: página de marketing de soluciones de Capgo. Rol: etiqueta de IU corta o elemento de navegación. Visto en: página soluciones/white-label.astro. Clave de mensaje `solutions_white_label_visual_cell2_value` (Valor de celda visual de soluciones White Label). para obtener detalles de implementación en Canales, y para obtener detalles de implementación en Canales, y para obtener detalles de implementación en Canales, Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Alcance de Versión para el flujo de trabajo del producto en Solución de Alcance de Versión.

Actualizaciones en vivo para aplicaciones Capacitor de Capacitor

Cuando un bug en la capa web está activo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

soporte humano de Martin

Comience ahora

Últimas noticias de nuestro blog

Capgo le da las mejores perspectivas que necesita para crear una aplicación móvil verdaderamente profesional.