Los equipos suelen elegir uno de tres enfoques para entornos móviles:
- Dos IDs de aplicación (producción + preproducción)
- Un ID de aplicación + cambio dinámico del entorno de tiempo de ejecución
- Un ID de aplicación + canales de Capgo
Los primeros dos pueden funcionar, pero crean fricciones a largo plazo. En equipos reales, el modelo de canal Capgo suele ser el más limpio.
Por qué los IDs de aplicación duplicados se vuelven ruidosos
Usando com.myapp y com.myapp.beta parece simple, pero se produce duplicación:
- Dos flujos de lanzamiento
- Dos conjuntos de IDs de empuje, enlaces profundos y mapeo de permisos
- Dos identidades de análisis y crash
- Configuración divergente y comportamiento inconsistente entre entornos
Acaba manejando dos productos a través de consolas de tiendas, equipos y instrucciones de QA internas.
Por qué la configuración de cambio de tiempo de ejecución suele ser desordenada
El patrón 'un ID de aplicación + cambio de tiempo de ejecución' suele significar que tu aplicación lee variables de entorno o banderas al arrancar y re-ruta APIs, claves y comportamiento de actualización dinámicamente.
Esto funciona hasta:
- Los flujos de QA comienzan a saltarse porque el estado de configuración está desactualizado,
- alguien utiliza el endpoint incorrecto en producción,
- la desviación del entorno causa problemas difíciles de reproducir,
- necesitas depurar “¿qué versión de configuración está utilizando este binario?” en un dispositivo del usuario.
Esa complejidad crece con cada lanzamiento y es donde los equipos pierden velocidad.
The Capgo way: one app ID, many channels
Capgo makes environment control explicit through channels:
- Mantén una sola ID de aplicación de producción en App Store / Play.
- Envía un binario nativo para la “cáscara” (hasta que los cambios nativos requieran una verdadera reconstrucción).
- Ruta el comportamiento por canal, no por la identidad duplicada de la aplicación.
En la práctica, esto significa:
production: todos los usuariosstaging: pruebas internas y candidatos de lanzamientobeta: probadores invitadoshotfix: pista de parche de emergencia
Su aplicación de prueba interna de TestFlight/Play puede permanecer en staging para siempre.
Puede actualizar JS/CSS/activos allí repetidamente a través de Capgo sin publicar una nueva aplicación nativa.
La estructura recomendada en la práctica
1) Base de lanzamiento nativa
Su último binario nativo permanece igual durante muchas iteraciones de JS:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Solo reconstruye el binario nativo cuando realmente cambió la superficie nativa.
2) Utilice canales dedicados para entornos
Publica actualizaciones con canales:
bun run build
bunx @capgo/cli deploy --channel staging
Prueba en QA, corrige problemas, luego promueve:
bunx @capgo/cli promote vX.Y.Z --channel production
Si prefieres una versión explícita:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Mantén TestFlight “siempre pre-prod”
En flujos de trabajo de iOS, esto significa que tu compilación de TestFlight puede permanecer asociada con actualizaciones de preproducción:
- No hay presentaciones nativas frecuentes para cada cambio de JS.
- QA siempre valida cerca de la producción code a través del canal de staging.
- Los usuarios de producción solo reciben paquetes de canal de producción promocionados.
4) Utiliza solo cambios de canal para flujos de trabajo controlados
Para equipos avanzados, expone cambios de canal controlados para usuarios QA/admin:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setChannel({
channel: 'staging',
triggerAutoUpdate: true
});
Esto es opcional. La mayoría de los equipos utilizan asignaciones de canal desde la consola y solo cambian el canal para usuarios internos, no para todos los clientes.
Lista de verificación operativa
- Solo un ID de aplicación (sin IDs de producción/desarrollo duplicados)
- Una pila de construcción nativa de referencia
- Mapeo de canal documentado (
staging,beta,production,hotfix) - El camino de promoción se impone en CI/CD
- Reconstrucción nativa solo en cambios nativos verdaderos
- Se prueba el retroceso con regularidad
Beneficio práctico
Esta aproximación elimina la deriva de entorno, reduce la mezcla de construcción y acelera las correcciones:
- La QA obtiene binarios realistas (sin identidad de aplicación ficticia “de etapa”),
- Tu camino de TestFlight permanece estable,
- Tu equipo evita la deuda de “dos ID de aplicación,”
- Puedes enviar muchas correcciones de JS únicamente a través de Capgo de manera rápida.
El resultado final es una gobernanza más simple: menos artefactos, telemetría más limpia y menos sorpresas en las operaciones de lanzamiento.
Sigue adelante desde Capgo Prácticas de Entorno: Etapa con un ID de Aplicación Móvil
Si estás utilizando Capgo Prácticas de Entorno: Etapa con un ID de Aplicación Móvil para planificar la ruta de canales y la implementación de lanzamiento etapado, conecta con Canal para obtener detalles de implementación en Canal Canal para obtener detalles de implementación en Canal Canal para obtener detalles de implementación en Canal 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.