Saltar al contenido principal

Pruebas beta

Envía cambios web a tus beta testers sin un nuevo build de TestFlight

Los testers instalan tu app una sola vez. Después, cada cambio en JavaScript, HTML o CSS llega a un canal beta al que se unieron desde la app, y lo reciben en la siguiente comprobación de actualizaciones. Los cambios en code nativo siguen requiriendo TestFlight o un track de Play testing.

Los testers se unen desde la app

Permite la autoasignación en un canal con --self-assign. Tu app lista los canales con listChannels() y mueve el dispositivo con setChannel(), así un tester puede unirse a la beta desde la pantalla de ajustes.

Referencia de setChannel()

Fija un dispositivo desde la consola

Configura un device override en la consola de Capgo para asignar el teléfono de un tester a un canal sin cambiar la app. Los overrides se eliminan 90 días después de su última configuración.

Sobrescritura de dispositivos

Comparte un build con un QR code

Habilita las previews de la app una vez. Luego, get-qr, o --qr-preview al hacer upload, genera un QR code y links de preview para un bundle o canal que puedes publicar en tu hilo de QA.

Referencia de get-qr

TestFlight sigue siendo para cambios nativos

Las live updates cambian JavaScript, HTML, CSS y assets. Si añades un plugin o tocas code nativo, envía un nuevo build de prueba a TestFlight o Play y luego sigue iterando en él con canales.

Qué necesita un build nativo

TestFlight y los canales de Capgo tienen funciones distintas

  • Hacer llegar un nuevo build a los testers

    Pruebas en TestFlight / Play
    Build, firma, sube y espera el procesamiento de la tienda
    Canal beta de Capgo
    Sube un bundle con CLI. Los testers lo reciben en la siguiente comprobación de actualizaciones.
  • Añadir un tester

    Pruebas en TestFlight / Play
    Invítalos en App Store Connect o en Play Console
    Canal beta de Capgo
    Se unen al canal desde tu app, o configuras un device override
  • Mover a un tester a otro build

    Pruebas en TestFlight / Play
    Instalar un build diferente
    Canal beta de Capgo
    Cambia de canal en la app con setChannel()
  • Cambios en code nativo y en plugins

    Pruebas en TestFlight / Play
    Sí
    Canal beta de Capgo
    No, publica un nuevo binario

Los testers solo instalan la app una vez, ya sea vía TestFlight, Play testing track o la tienda. A partir de ahí, los Channels gestionan los cambios en la capa web. Qué necesita un build nativo

Cómo funciona

Cómo los equipos de QA gestionan una beta con Capgo

Un build instalado, un canal al que los testers pueden unirse y un CLI upload por cada cambio. Todos los comandos de abajo son de la documentación de Capgo.

  1. Crea un beta channel para que se unan los testers

    El self-assignment permite que la app mueva un dispositivo a este channel. Déjalo desactivado en tu channel de producción.

    npx @capgo/cli@latest channel add beta com.example.app --self-assign
    Docs de Channels
  2. Añade un switch de Join beta en tu app

    setChannel() consulta a Capgo si el canal permite la autoasignación y luego lo guarda en el dispositivo. triggerAutoUpdate inicia una comprobación de actualizaciones al instante.

    import { CapacitorUpdater } from '@capgo/capacitor-updater'
    
    // Join beta and check for its bundle now
    await CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true })
    
    // Leave beta and go back to the default channel
    await CapacitorUpdater.unsetChannel({ triggerAutoUpdate: true })
    Referencia de setChannel()
  3. Sube cada cambio a la beta

    Activa las previews una vez. Después, genera un QR code con cada upload para que testers y reviewers puedan abrir el nuevo bundle.

    # once
    npx @capgo/cli@latest app set com.example.app --preview
    # every change
    npx @capgo/cli@latest bundle upload --channel beta --qr-preview
    Referencia de get-qr
  4. Promociona lo que pasó QA

    Vincula el bundle probado a producción o lánzalo primero a una parte de los dispositivos. Los testers se quedan en beta hasta que decidan salir.

    npx @capgo/cli@latest channel set production com.example.app \
      --bundle 1.4.2
    # or roll it out to 10% of production first
    npx @capgo/cli@latest channel set production com.example.app \
      --rollout-bundle 1.4.2 --rollout-percentage 10 --rollout-enable
    Docs de rollouts progresivos

Quiénes usan canales beta

QA interna

QA mantiene una build instalada y alterna entre canales de qa, beta y feature en lugar de reinstalar por cada cambio en JavaScript.

Usuarios beta opt-in

Añade un interruptor de "Unirse a la beta" que ejecute setChannel(). Al salir, los usuarios ejecutan unsetChannel() y vuelven al canal por defecto.

Revisiones de stakeholders

Envía un code QR desde get-qr para que los product owners puedan abrir la preview de un bundle o channel específico.

Apps creadas con Capacitor

Community apps need careful feature exposure

Las apps de consumo masivo pueden validar flujos de juego, aprendizaje o predicción con un grupo cerrado de testers antes de lanzar la experiencia a todos los usuarios.

lichess • Icono de la app Free Online Chess TABLERO DE JUEGO

lichess • Ajedrez online gratuito

App de gran comunidad donde torneos, análisis y funciones sociales requieren una validación cuidadosa.

Instalaciones en Google Play
11.3M
Calificación en la tienda
4.3
StudySmarter - Icono de la app de escuela y universidad EDUCACIÓN

StudySmarter - Escuelas y uni

Workflows educativos donde el onboarding y los cambios de práctica deben revisarse antes del release.

Instalaciones en Google Play
6.5M
Calificación en la tienda
4.8
Icono de la app Windy.com - Weather Forecast CLIMA

Windy.com - Pronóstico del tiempo

Pronósticos e interacciones de mapas donde los cambios requieren confianza antes de escalar.

Instalaciones en Google Play
32.9M
Calificación en la tienda
4.7

Testimonios de clientes

Lo que dicen los equipos que publican con Capgo

5.0/5 valorado por equipos de desarrollo 9,400+ equipos Leer reseñas

Nate van Jole

CTO, Privado

“La configuración tomó menos de un día. Los rollouts por canales me permiten probar en mi propio dispositivo antes de lanzarlo a producción.”

no-tone @ Webincode

Desarrollador, Webincode

“Poder añadir Device IDs a grupos concretos y enviar los cambios solo a esos grupos es un salvavidas.”

Retrato de Michael Haberler

Michael Haberler

nethead emeritors

“Buen trabajo con el plugin de actualizaciones. Me funciona de maravilla y las live updates son un gran acelerador para agilizar las pruebas.”

FAQ

Dudas de QA y equipos de producto

Respuestas rápidas sobre testers, builds y qué requiere aún TestFlight.

¿Puede Capgo reemplazar a TestFlight o las pruebas internas de Play?

Solo para cambios en la capa web. Los testers instalan tu app una vez desde TestFlight, una vía de pruebas de Play o la tienda. Después, los cambios en JavaScript, HTML, CSS y assets pueden llegarles mediante un channel. Añadir un plugin, actualizar Capacitor o cambiar la config nativa de code o Capacitor requiere un nuevo binario.

Qué necesita un build nativo

¿Cómo se une o sale un tester de la beta?

Activa el self-assignment para el beta channel y luego llama a setChannel({ channel: 'beta' }) desde una pantalla de tu app. Capgo verifica que el channel lo permita y el dispositivo guarda la elección. unsetChannel() devuelve el dispositivo al channel por defecto. Al channel por defecto no se puede acceder con setChannel().

Referencia de setChannel()

¿Podemos mover el teléfono de un tester sin cambiar la app?

Sí. Abre el dispositivo en la consola de Capgo y configura un channel override. Puede tardar hasta 2 minutos en llegar a cada edge server, y se elimina 90 días después de su última configuración. Los canales elegidos en la app con setChannel() no aparecen en esa lista.

Overrides de dispositivos

¿Cómo probamos un nuevo Native Build sin un live update antiguo encima?

Incrementa CapacitorUpdater.version en cada Native Build. Con la configuración por defecto, los bundles descargados para la versión anterior se eliminan al instalar la nueva. También puedes desactivar las actualizaciones para builds de desarrollo y emuladores en el channel.

Prueba Native Builds sin Live Updates

¿Qué pasa si un bundle beta falla al iniciar?

Llama a notifyAppReady() una vez que tu app haya cargado. Si un nuevo bundle no lo llama en 10 segundos, el dispositivo lo marca como fallido y vuelve al bundle anterior que funcionaba.

notifyAppReady() y rollback automático

Configura un channel beta en tu propia app

Crea un canal para que se unan tus testers, activa el switch y envía tu primer bundle durante la prueba gratuita de 14 días. Sin tarjeta de crédito.