Vai al contenuto principale
Guida pratica

Capgo Pratiche per l'ambiente: Staging con un unico ID dell'applicazione mobile

Una guida pratica per evitare ID dell'applicazione duplicati e flag di runtime fragili utilizzando i canali Capgo per lo staging, la QA e la produzione nelle Capacitor app.

Martin Donadieu

Martin Donadieu

Contento creativo

Capgo Pratiche per l'ambiente: Staging con un unico ID dell'applicazione mobile

Gli team scelgono spesso uno dei tre approcci per gli ambienti mobili:

  1. Due ID dell'applicazione (produzione + pre-produzione)
  2. Un ID dell'applicazione + switching dinamico dell'ambiente runtime
  3. Un ID dell'applicazione + canali Capgo

Le prime due possono funzionare, ma creano una frizione a lungo termine. In reali team, il modello del canale Capgo è solitamente il più pulito.

Perché gli ID delle app duplicati diventano rumorosi

Utilizzando com.myapp e com.myapp.beta contexto: Pagina/Area: Sito web di marketing Capgo. Ruolo: Etichetta breve o elemento di navigazione. Visto in: pagina trust.astro. Chiave di messaggio `e` (E).

  • sembra semplice, ma si verifica rapidamente la duplicazione:
  • Due pipeline di rilascio
  • Due set di ID di push, collegamenti profondi e mapping delle autorizzazioni
  • Due identità di analisi e crash

Configurazioni divergenti e comportamenti inconsistenti tra ambienti

Si finisce per gestire due prodotti attraverso console di negozio, team e istruzioni di QA interne.

Perché la configurazione di runtime-switching è spesso confusa

Funziona fino a quando:

  • La QA inizia a bypassare i flussi previsti a causa dello stato di configurazione obsoleto
  • Qualcuno utilizza l'endpoint sbagliato in produzione
  • L'arretramento dell'ambiente causa bug difficili da riprodurre
  • È necessario debuggare “qual è la versione di configurazione utilizzata da questo binario?” su un dispositivo del cliente

Quella complessità cresce con ogni rilascio e è dove le squadre perdono velocità

La Capgo soluzione: un ID applicazione, molti canali

Capgo rende il controllo dell'ambiente esplicito attraverso i canali:

  • Conserva un unico ID applicazione in App Store / Play
  • Invia un binario nativo per la “shell” (fino a quando le modifiche native richiedono una vera ricostruzione)
  • Dirige il comportamento per canale, non per identità di applicazione duplicata

In pratica, ciò significa:

  • production: tutti gli utenti
  • staging: QA interna e candidati alla release
  • beta: tester invitati
  • hotfix: traccia di patch di emergenza

Il tuo app di testing interno TestFlight/Play può rimanere su staging forever. You do JS/CSS/asset updates there repeatedly through Capgo without publishing a new native app.

1) Baseline di rilascio nativo

Il tuo ultimo binario nativo rimane lo stesso per molte iterazioni JS:

bun run build
bunx cap sync
# generate Xcode/Android Studio archives as usual

Riavrai il binario nativo solo quando effettivamente hai modificato la superficie nativa.

2) Utilizza canali dedicati per gli ambienti

Pubblica aggiornamenti 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 esplicita:

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 iOS, ciò significa che il tuo build di TestFlight può rimanere associato agli aggiornamenti pre-produzione:

  • Non sottoscrivere spesso le sottoscrizioni native per ogni cambiamento JS.
  • La QA valuta sempre il prodotto vicino alla produzione code tramite il canale di staging.
  • Gli utenti di produzione ricevono solo i bundle del canale di produzione promosso.

4) Utilizza solo le scelte di canale per flussi di lavoro controllati

Per team avanzati, esponi le scelte di canale controllate per gli utenti QA/amministratore:

import { CapacitorUpdater } from '@capgo/capacitor-updater';

await CapacitorUpdater.setChannel({
  channel: 'staging',
  triggerAutoUpdate: true
});

Questo è facoltativo. La maggior parte dei team utilizza le assegnazioni di canale dal pannello di controllo e cambia solo il canale per gli utenti interni, non per tutti i clienti.

Checklist operativa

  • Hai solo un ID dell'applicazione (nessun ID di produzione/di staging duplicato)
  • Una pipeline di costruzione nativa di base
  • La mappatura del canale documentata (staging, beta, production, hotfix)
  • La via di promozione impostata in CI/CD
  • Ri-costruzione nativa solo per vere modifiche native
  • La rollback testata 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 'identità di applicazione di staging'),
  • La tua via di TestFlight rimane stabile,
  • La tua squadra evita il 'debito di ID di applicazione due',
  • 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.

Prosegui con Capgo Pratiche per l'ambiente di sviluppo: Staging con un unico ID di App Mobile

Se stai utilizzando Capgo Pratiche per l'ambiente di sviluppo: Staging con un unico ID di App Mobile per pianificare la routing dei canali e la distribuzione in fase di staging, connettilo con Canali contexto: Canali di rilascio di Capgo. Pagina/area: Pagina di marketing delle soluzioni di Capgo. Ruolo: Etichetta di navigazione breve o elemento di navigazione. Visto in: pagina soluzioni/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore della cella visiva del white label delle soluzioni). per i dettagli di implementazione in Canali, Canali contexto: Canali di rilascio di Capgo. Pagina/area: Pagina di marketing delle soluzioni di Capgo. Ruolo: Etichetta di navigazione breve o elemento di navigazione. Visto in: pagina soluzioni/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore della cella visiva del white label delle soluzioni). per i dettagli di implementazione in Canali, Canali contexto: Canali di rilascio di Capgo. Pagina/area: Pagina di marketing delle soluzioni di Capgo. Ruolo: Etichetta di navigazione breve o elemento di navigazione. Visto in: pagina soluzioni/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore della cella visiva del white label delle soluzioni). Soluzione di targeting di versione per il flusso di lavoro del prodotto in Soluzione di targeting di versione.

Aggiornamenti in tempo reale per le Capacitor app

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Quando un bug del layer web è attivo, invia la correzione attraverso __CAPGO_KEEP_0__ invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Contesto: Pagina/Area: Sito web di marketing Capgo. Ruolo: Descrizione di supporto o meta descrizione. Visibile in: componente GetStarted.astro. Preservare i termini di prodotto/marca e sviluppatore di Capgo esattamente. Chiave di messaggio `instant_updates_for_capacitor_apps_description` (Descrizione degli aggiornamenti in tempo reale per le app Capacitor).

Sostegno umano da parte di Martin

Capgo gives you the best insights you need to create a truly professional mobile app.