Aller directement au contenu principal

Capgo Pratiques d'environnement de production : Staging avec un seul ID d'application mobile

Un guide pratique pour éviter les ID d'application dupliqués et les drapeaux de runtime fragiles en utilisant les canaux Capgo pour le staging, la QA et la production dans les applications Capacitor.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Capgo Pratiques d'environnement de production : Staging avec un seul ID d'application mobile

Les équipes choisissent généralement l'une des trois approches pour les environnements mobiles :

  1. Deux ID d'application (production + pré-production)
  2. Un ID d'application + la mise en route dynamique de l'environnement
  3. Un ID d'application + les canaux Capgo

Les deux premiers peuvent fonctionner, mais ils créent une friction à long terme. Dans les équipes réelles, le modèle de canal Capgo est généralement le plus propre.

Pourquoi les ID d'application dupliqués deviennent bruyants

En utilisant com.myapp et com.myapp.beta context

  • semble simple, mais vous obtenez rapidement des duplicatas :
  • Deux pipelines de mise à jour
  • Deux ensembles d'IDs de push, de liens profonds et de mappage d'entitlement
  • Deux identités d'analytique et de crash

Une configuration divergente et un comportement incohérent entre les environnements

Vous finissez par gérer deux produits sur les consoles de magasin, les équipes et les instructions de test interne.

Pourquoi la configuration de basculement en temps d'exécution est souvent embrouillée : La « forme d'ID d'application + basculement de runtime » signifie généralement que votre application lit les variables d'environnement ou les drapeaux au démarrage et redirige les API, les clés et le comportement de mise à jour dynamiquement.

Ce fonctionne jusqu'à ce que :

  • Le QA commence à contourner les flux prévus car l'état de la configuration est obsolète,
  • quelqu'un utilise le mauvais endpoint en production,
  • le dérive de l'environnement entraîne des bogues difficiles à reproduire,
  • vous devez déboguer « quelle version de la configuration est-ce que ce binaire utilise ? » sur un appareil utilisateur.

Cette complexité augmente avec chaque mise à jour et c'est là que les équipes perdent de la vitesse.

La méthode Capgo : un ID d'application unique, plusieurs canaux

Capgo contrôle l'environnement de manière explicite à l'aide de canaux :

  • Conservez un ID d'application de production unique sur l'App Store / Play.
  • Envoyez un binaire natif unique pour la « coquille » (jusqu'à ce que des changements natifs nécessitent une véritable reconstruction).
  • Routez le comportement par canal, et non par une identité d'application dupliquée.

En pratique, cela signifie :

  • production: tous les utilisateurs
  • staging: les candidats à la mise en production et les équipes QA internes
  • beta: les testeurs invités
  • hotfix: la piste de mise à jour d'urgence

Votre application de test interne TestFlight/Play peut rester à l'ancienne. staging Vous pouvez effectuer des mises à jour de JS/CSS/actifs à l'intérieur de Capgo sans publier une nouvelle application native.

1) Base de mise en production native

Votre dernier binaire natif reste le même pour de nombreuses itérations de JS :

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

Vous n'avez besoin de reconstruire le binaire natif que lorsque vous avez effectué des modifications dans la surface native.

2) Utilisez des canaux dédiés pour les environnements

Publiez des mises à jour avec des canaux :

bun run build
bunx @capgo/cli deploy --channel staging

Testez sur QA, corrigez les problèmes, puis promouvez :

bunx @capgo/cli promote vX.Y.Z --channel production

Si vous préférez une version explicite :

bunx @capgo/cli deploy vX.Y.Z --channel staging
bunx @capgo/cli promote vX.Y.Z --channel production

3) Gardez TestFlight « toujours pré-prod »

Dans les workflows iOS, cela signifie que votre build TestFlight peut rester associé aux mises à jour pré-production :

  • Aucune soumission native fréquente pour chaque changement JS.
  • QA valide toujours les code près de la production via le canal de pré-production.
  • Seuls les utilisateurs de production reçoivent les paquets de canal de production promus.

4) Utilisez uniquement les commutateurs de canal pour des workflows contrôlés

Pour les équipes avancées, exposez les commutateurs de canal contrôlés pour les utilisateurs QA/admin :

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

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

Ceci est facultatif. La plupart des équipes utilisent les affectations de canal depuis le tableau de bord et ne changent que le canal pour les utilisateurs internes, pas tous les clients.

Liste de vérification opérationnelle

  • Un seul ID d'application (pas de duplicatas des IDs de production/pré-production)
  • Une pipeline de construction native de base
  • La cartographie du canal est documentée (staging, beta, production, hotfix)
  • Le chemin de promotion est appliqué dans CI/CD
  • Seul le rebuild natif est effectué en cas de vraies modifications natives
  • Le rollback est testé régulièrement

Avantage pratique

Cette approche supprime la dérive de l'environnement, réduit la turbulence de construction et accélère les corrections :

  • Les QA obtiennent des binaires réalistes (pas d'identité de fake « staging app »),
  • Votre chemin de TestFlight reste stable,
  • Votre équipe évite le « debt de deux ID d'application »,
  • Vous pouvez envoyer rapidement de nombreuses corrections JS uniquement via Capgo.

Le résultat final est une gouvernance plus simple : moins d'artefacts, des données de télémétrie plus propres et moins de surprises dans les opérations de mise en production.

Continuez de Capgo Pratiques de l'environnement : Étape avec un seul ID d'application mobile

Si vous utilisez Capgo Pratiques de l'environnement : Étape avec un seul ID d'application mobile pour planifier la mise en route des canaux et la mise en production étalée, connectez-l’avec Canaux Canaux Canal Canal Canal Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, et et Solution de ciblage de version pour le flux de travail du produit dans la Solution de ciblage de version.

Mises à jour en direct pour les applications Capacitor

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.

Lorsqu'un bug de couche web est en direct, expédiez la correction par le biais de __CAPGO_KEEP_0__ au lieu de attendre des jours pour l'approbation de l'app store. Les utilisateurs reçoivent l'actualisation en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Contexte : Page/zone : Site web de marketing Capgo. Rôle : Description de soutien ou de métadescription. Vu dans : composant GetStarted.astro. Conservez les termes de produit/marque et les termes de développeur exactement. Clé de message `instant_updates_for_capacitor_apps_description` (Description des mises à jour instantanées pour les applications Capacitor).

Support humain de Martin

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