Pulsa para ir al contenido principal
Guí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 automáticamente o utilizando tu backend

Martin Donadieu

Martin Donadieu

Marketing de Contenido

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

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

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

Entendiendo los canales

Los canales en Capgo te permiten:

  • Grupos de usuarios específicos con características diferentes
  • Ejecutar pruebas A/B asignando 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. Enviarla a su backend
  3. Su backend llama a los 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. Obtenga una clave API desde la consola de Capgo
  2. Llame al Capgo API para asignar el dispositivo a un canal

Para obtener su clave API:

  1. Inicie sesión en su consola de Capgo
  2. Vaya a Configuración > Claves de API
  3. Haga clic en “Generar Nueva Clave”
  4. Seleccione el modo para administrar dispositivos y canales all Copie la clave generada y almacénela de manera segura en sus variables de entorno de backend
  5. La clave será una cadena hexadecimal de 32 caracteres
    • Es una clave secreta que nunca debe ser expuesta en el lado del cliente __CAPGO_KEEP_0__
    • It’s a secret key that should never be exposed in client-side code

Un ejemplo de Node.js aquí:

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 debería:

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

2. Autoasignación (Menos Seguro)

Este método permite que los dispositivos se asignen directamente a un canal. Es útil para la prueba, pero menos seguro para la 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 autoasignarse a un canal, debes habilitar esta característica en el Capgo dashboard:

  1. Vaya a la sección de canales en su Capgo dashboard
  2. Haga clic en el nombre del canal que desea gestionar
  3. En la configuración del canal, active ‘Permitir que los dispositivos se asocie automáticamente’
  4. Guardar los cambios

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

Implementación de Flags de Característica

Utilice los canales para controlar el acceso a las características:

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

Ejecutar 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 Fondo: En producción, utilice siempre el método de asignación de fondo
  2. Asignación Consistente: Utilice IDs de usuarios o otros identificadores estables para una asignación de canal consistente
  3. Monitoreo: Seguir el uso de características y métricas de rendimiento para cada canal
  4. Despliegues Graduales: Comenzar con segmentos de usuarios pequeños y expandir gradualmente
  5. Documentación Clara: Documentar su estrategia de canal 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 el uso en producción, siempre prefiera el método de asignación de backend para una mayor seguridad y control.

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

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

: Si está utilizando How to Use Channels for Feature Flags and A/B Testing para planificar la ruta de canalización y el despliegue en etapas, conecte con Canales para los detalles de implementación en Canales Canales para los detalles de implementación en Canales Canales Solución de Pruebas Beta para el flujo de trabajo del producto en Solución de Pruebas Beta, y Solución de Enfoque de Versión para el flujo de trabajo del producto en Solución de Enfoque de Versión. Solución de Pruebas Beta

Actualizaciones en vivo para aplicaciones Capacitor

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Cuando un bug en la capa de web está vivo, envíe la corrección a través de __CAPGO_KEEP_0__ 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.

Contexto: Página/área: Sitio web de marketing de Capgo. Rol: Descripción de apoyo o meta descripción. Visto en: componente GetStarted.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Mensaje clave `actualizaciones_instantáneas_para_aplicaciones_de_capacitor_descripción` (Actualizaciones Instantáneas Para Aplicaciones De Capacitor Descripción).

soporte humano de Martin

Capgo gives you the best insights you need to create a truly professional mobile app.