Las 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 + cambiar el entorno de tiempo de ejecución dinámico
- Un ID de aplicación + Capgo canales
Los dos primeros pueden funcionar, pero crean fricción 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 pronto obtienes duplicación:
- Dos flujos de lanzamiento
- Dos conjuntos de IDs de empuje, enlaces profundos y mapeo de derechos
- 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 tienda, equipos y instrucciones de QA internas.
¿Por qué la configuración de cambio de tiempo de ejecución es a menudo desordenada?
El patrón de “una ID de aplicación + cambio de tiempo de ejecución” suele significar que tu aplicación lee variables de entorno o banderas en el arranque y re-ruta APIs, claves y comportamiento de actualización dinámicamente.
Esto funciona hasta:
- La QA comienza a saltarse los flujos previstos porque el estado de la configuración está desactualizado.
- Alguien utiliza el endpoint incorrecto en producción.
- El desplazamiento de 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.
La forma de Capgo: una ID de aplicación, muchos canales
Capgo hace el control de entornos explícito a través de canales:
- Conservar un ID de aplicación de producción en App Store / Play.
- Enviar una binaria nativa única para la “cinta de mandos” (hasta que los cambios nativos requieran una verdadera reconstrucción).
- Configurar el comportamiento de rutas por canal, no por la identidad duplicada de la aplicación.
En la práctica, esto significa:
production: todos los usuariosstaging: QA y candidatos de lanzamiento internosbeta: probadores invitadoshotfix: pista de parche de emergencia
Su aplicación de prueba interna de TestFlight/Play puede permanecer en staging para siempre.
Puede realizar actualizaciones de JS/CSS/activos allí repetidamente a través de Capgo sin publicar una nueva aplicación nativa.
Estructura recomendada en la práctica
1) Línea base de lanzamiento nativa
Su última binario nativo permanece igual para muchas iteraciones de JS:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Sólo 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 prefiere una versión explícita:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Mantenga TestFlight “siempre pre-prod”
En flujos de trabajo de iOS, esto significa que su compilación de TestFlight puede permanecer asociada con actualizaciones pre-prod:
- 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) Utilice el cambio de canal solo para flujos de trabajo controlados
For equipos avanzados, exponga cambios de canal controlados para usuarios QA/administrativos:
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 de canal para usuarios internos, no para todos los clientes.
Lista de verificación operativa
- Sólo un ID de aplicación (sin IDs de producción/desarrollo duplicados)
- Sólo una pila de compilación nativa de base
- La asignación de canales documentada (
staging,beta,production,hotfix) - Se aplica el camino de promoción en CI/CD
- Recompila 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 rotación de compilaciones y acelera las correcciones:
- Los QA obtienen binarios realistas (sin identidad de aplicación de “staging” falsa),
- su ruta de TestFlight permanece estable,
- su equipo evita el
- puede enviar muchas correcciones de JS 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á utilizando Capgo Prácticas de Entorno: Etapa con Un ID de Aplicación Móvil para planificar la ruta de canales y el despliegue en etapas, conéctelo con Canal para obtener detalles de implementación en Canal Canal para obtener detalles de implementación en Canal Canales para el detalle 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 Enfoque de Versión para el flujo de trabajo del producto en Solución de Enfoque de Versión.