Passer au contenu principal
Tutorial

Capgo Pratiques de l'environnement protégé : Étape 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 l'étape, la QA et la production dans les applications Capacitor.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Capgo Pratiques de l'environnement protégé : Étape 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'applications dupliqués deviennent bruyants

En utilisant com.myapp et com.myapp.beta semble simple, mais vous obtenez rapidement des duplicatas :

  • Deux pipelines de publication
  • Deux ensembles d'IDs de push, de liens profonds et de mappage d'entitlements
  • Deux identités d'analytique et de crash
  • Des configurations divergentes et des comportements incohérents entre 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

Le modèle « un ID d'app + basculement en temps d'exécution » signifie généralement que votre application lit les variables d'environnement ou les drapeaux au démarrage et re-routifie les API, les clés et le comportement de mise à jour dynamiquement.

Cela 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.

The Capgo way: one app ID, many channels

Capgo makes environment control explicit through channels:

  • Conservez une ID d'application de production unique dans l'App Store / Play.
  • Envoyez une seule application native pour la « coquille » (jusqu'à ce que des changements natives 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: QA et candidats à la mise en production internes
  • beta: testeurs invités
  • hotfix: piste de mise à jour d'urgence

Votre application TestFlight/Play de test interne peut rester active staging forever. You do JS/CSS/asset updates there repeatedly through Capgo without publishing a new native app.

1) Base de sortie native

Votre dernier binaire natif reste le même pour de nombreuses itérations 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 sur 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 le code proche de la production via le canal de mise en scène.
  • 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 des 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 d'ID de production/mise en scène)
  • Une chaîne de pipeline de construction native de base
  • La cartographie du canal est documentée (staging, beta, production, hotfix)
  • La voie de promotion est appliquée dans CI/CD
  • Reconstruction native uniquement sur les vraies modifications natives
  • La mise en œuvre de reversion est testée 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 « staging app » fictive),
  • Votre chemin de TestFlight reste stable,
  • Votre équipe évite le « debt d'ID d'app » « deux app »,
  • Vous pouvez faire passer rapidement de nombreuses corrections JS uniquement à travers Capgo .

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

Continuez à partir de Capgo Pratiques de l'environnement de développement : Étape de mise en scène avec un ID d'application mobile unique

Si vous utilisez Capgo Pratiques de l'environnement de développement : Étape de mise en scène avec un ID d'application mobile unique pour planifier la routage de canal et la mise en scène de lancement, connectez-le à Canaux pour les détails d'implémentation dans Canaux, Canaux pour les détails d'implémentation dans Canaux, Canaux pour les détails d'implémentation dans Canaux, Solution de test bêta pour le flux de travail du produit dans Solution de test bêta, 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

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par le biais de Capgo au lieu de attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans le chemin de revue normal.

Démarrer maintenant

Dernières actualités de notre Blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile véritablement professionnelle.