Di solito, le squadre scelgono uno dei tre approcci per gli ambienti mobili:
- Due ID di app (produzione + pre-produzione)
- Un ID di app + switching di ambiente di runtime dinamico
- Un ID di app + Capgo canali
I primi due possono funzionare, ma creano una lunga frizione a lungo termine. In reali squadre, il modello del canale Capgo è solitamente il più pulito.
Perché gli ID di app duplicati diventano rumorosi
Utilizzando com.myapp e com.myapp.beta sembra semplice, ma si scopre presto la duplicazione:
- Due pipeline di rilascio
- Due set di ID di push, collegamenti profondi e mapping delle autorizzazioni
- Due identità di analisi e crash
- Configurazione divergente e comportamento incoerente tra ambienti
Si finisce per gestire due prodotti attraverso console di negozio, team e istruzioni QA interne.
Perché la configurazione di runtime-switching è spesso disordinata
Il modello di app ID + runtime switch di solito significa che l'app legge le variabili di ambiente o le bandiere al avvio e reindirizza dinamicamente le API, le chiavi e il comportamento dell'aggiornamento.
Funziona fino a quando:
- Il QA inizia a bypassare i flussi previsti perché lo stato della configurazione è obsoleto,
- Qualcuno utilizza l'endpoint sbagliato in produzione,
- La deriva dell'ambiente causa bug difficili da riprodurre,
- È necessario debuggare “qual è la versione di configurazione utilizzata da questo binario?” su un dispositivo di un utente.
Quella complessità cresce con ogni rilascio e è dove le squadre perdono velocità.
La Capgo maniera: un ID applicazione, molti canali
Capgo rende il controllo dell'ambiente esplicito attraverso i canali:
- Conserva un ID applicazione di produzione unico su App Store / Play.
- Invia un binario nativo unico per la “shell” (fino a quando le modifiche native richiedono un vero rebuild).
- Dirige il comportamento per canale, non per l'identità duplicata dell'applicazione.
In pratica, ciò significa:
productionTutti gli utentistagingQA interna e candidati per il rilasciobeta: tester invitatihotfix: track di patch di emergenza
La tua app di testing interno TestFlight/Play può rimanere sempre uguale. staging Potrai aggiornare ripetutamente JS/CSS/asset attraverso Capgo senza pubblicare una nuova app nativa.
Struttura raccomandata nella pratica
1) Baseline di rilascio nativo
La tua ultima versione binaria nativa rimane la stessa per molte iterazioni di JS:
bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual
Riavrai la versione binaria nativa solo quando effettivamente hai modificato la superficie nativa.
2) Utilizza canali dedicati per gli ambienti
Aggiorna con canali:
bun run build
bunx @capgo/cli deploy --channel staging
Testa su QA, risolvi gli issue, poi promuovi:
bunx @capgo/cli promote vX.Y.Z --channel production
Se preferisci la versioning esplicito:
bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production
3) Mantieni TestFlight “sempre pre-prod”
In flussi di lavoro iOS, ciò significa che il tuo build di TestFlight può rimanere associato ad aggiornamenti pre-produzione:
- No sottmissioni native frequenti per ogni cambiamento JS.
- La QA valuta sempre il near-production code via il canale di staging.
- Gli utenti di produzione ricevono solo bundle del canale di produzione promosso.
4) Utilizza il cambio di canale solo per flussi di lavoro controllati
Per team avanzati, esponi switch di canale controllati per utenti QA/amministratore:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setChannel({
channel: 'staging',
triggerAutoUpdate: true
});
Questo è facoltativo. La maggior parte dei team utilizza assegnazioni di canale dal dashboard e cambia solo il canale per utenti interni, non per tutti i clienti.
Checklist operativa
- Un solo ID dell'applicazione (nessun ID di produzione/di staging duplicato)
- Un solo pipeline di costruzione nativa di base
- La mappatura dei canali documentata (
staging,beta,production,hotfix) - Percorso di promozione impostato in CI/CD
- Riavvio nativo solo per modifiche native vere
- Ritorno ai test regolarmente
Beneficio pratico
Questa approccio elimina la deriva dell'ambiente, riduce la commistione di costruzione e accelera le correzioni:
- La QA riceve binari realistici (nessun falso "applicazione di staging" di identità),
- il tuo percorso di TestFlight rimane stabile,
- il tuo team evita il "debito di ID app",
- puoi inviare molte correzioni JS solo attraverso Capgo velocemente.
Il risultato finale è una governance più semplice: meno artefatti, telemetria più pulita e meno sorprese nelle operazioni di rilascio.
Continua da Capgo Pratiche di ambiente migliori: Staging con un unico ID di applicazione mobile
Se stai utilizzando Capgo Pratiche di ambiente di sviluppo: Staging con un ID di App Mobile unico per pianificare la routing dei canali e la distribuzione in fase di staging, connettilo con Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Canali per i dettagli di implementazione in Canali, Soluzione di testing beta per il flusso di lavoro del prodotto in Soluzione di testing beta, e Soluzione di targeting versione per il flusso di lavoro del prodotto in Soluzione di targeting versione.