Los equipos suelen elegir uno de tres enfoques para los entornos móviles:
- Dos IDs de aplicación (producción + preproducción)
- Un ID de aplicación + cambio dinámico del entorno de ejecución
- 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 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 gestionando 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 de 'una ID de aplicación + cambio de tiempo de ejecución' suele significar que tu aplicación lee variables de entorno o banderas al inicio y re-ruta APIs, claves y comportamiento de actualización dinámicamente.
Funciona hasta que:
- 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
- necesita 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 explícita el control de entorno a través de canales:
- Mantenga una sola ID de aplicación de producción en App Store / Play.
- Envíe 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: QA interna y candidatos a la liberaciónbeta: probadores invitadoshotfix: pista de parche de emergencia
Su aplicación de prueba de TestFlight/Play puede permanecer activa para siempre.
Puede realizar actualizaciones de JS/CSS/activos allí repetidamente a través de __CAPGO_KEEP_0__ sin publicar una nueva aplicación nativa. staging forever.
You do JS/CSS/asset updates there repeatedly through Capgo without publishing a new native app.
1) Base de lanzamiento nativa
Su último binario nativo permanece igual durante muchas iteraciones de JS:
Sólo reconstruye el binario nativo cuando realmente cambió el área de superficie nativa.
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
2) Utilice canales dedicados para entornos
Publica actualizaciones con canales:
Prueba en QA, corrige problemas, luego promueve:
bun run build
bunx @capgo/cli deploy --channel staging
Si prefiere una versión explícita:
bunx @capgo/cli promote vX.Y.Z --channel production
3) Mantenga la construcción de TestFlight “siempre pre-prod”
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
En los flujos de trabajo de iOS, esto significa que su construcción de TestFlight puede permanecer asociada con actualizaciones de preproducción:
]}
- No hay envíos nativos frecuentes para cada cambio de JS.
- La QA siempre valida el code de producción cercano a través del canal de staging.
- Sólo los usuarios de producción reciben paquetes de canal de producción promovidos.
4) Utilice solo el cambio de canal para flujos de trabajo controlados
Para equipos avanzados, exponga 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
- Sólo un ID de aplicación (sin IDs de producción/desarrollo duplicados)
- Sólo un pipeline 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
- Recompilación nativa solo en cambios nativos verdaderos
- Se deshacen pruebas regularmente
Beneficio práctico
Esta aproximación elimina la deriva del entorno, reduce la rotación de compilación y acelera las correcciones:
- La QA obtiene binarios realistas (sin identidad de aplicación de “staging app” falsa),
- Tu camino de TestFlight permanece estable,
- Tu equipo evita la deuda de “dos ID de aplicación,”
- Puedes 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ás utilizando Capgo Prácticas de Entorno: Etapa con un ID de Aplicación Móvil para planificar la ruta de canal y el despliegue en etapas, conecta con Canales para el detalle de implementación en Canales, Canales para el detalle de implementación en Canales, 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.