Je suis ravi que vous ayez posé la question.
Je ne donne pas de conseils juridiques. Je partage ce qui est pratique et largement utilisé par les équipes qui déployent des applications Capacitor de manière sécurisée.
La distinction importante est celle-ci :
- La soumission native est toujours requise pour de nouvelles comportements natifs et de grandes capacités.
- Les mises à jour en direct sont réservées aux corrections et ajustements JavaScript/web à l'intérieur de votre application existante.
Les deux iOS et Android peuvent utiliser ce modèle, mais vous devez le traiter comme un flux de travail sécurisépas un subterfuge.
Ce que Apple et Google autorisent en termes simples
Vous pouvez traiter Apple et Google comme partageant une frontière similaire :
- Vous pouvez livrer code interprété par la couche web intégrée (HTML/CSS/JS) sans résoumettre.
- Vous ne devez pas utiliser ce canal pour des ajouts majeurs de fonctionnalités qui changent la finalité de l'application.
- Vous ne devez pas modifier les contrôles de sécurité ou de distribution critiques par le seul moyen du JavaScript.
La guidance officielle d'Apple concernant les mises à jour WebKit/JavaScript est le cœur de ce modèle. Google est généralement moins restrictif pour les mises à jour basées sur le web, mais le même principe s'applique : garder les changements natifs dans une mise à jour native.
Ce que Capgo est bon pour
Capgo est destiné à :
- correction de bogues web en urgence
- fixes de copie de l'interface utilisateur / style / flux en toute sécurité
- corrections logiques mineures dans les pages existantes,
- expérimentation rapide pour les tests de QA internes.
Capgo n'est pas destiné à :
- ajouter des permissions ou de nouvelles capacités natives,
- envoyer de nouvelles capacités de noyau qui devraient passer par la revue,
- changer le comportement de signature, de chiffrement ou d'identité de package.
Stratégie de publication recommandée
Pensez en deux voies :
Voie 1 : voie native (revue de l'application)
Utilisez votre processus de publication normal Capacitor pour :
- mises à jour de nouveaux plugins,
- changement de l'interface de l'application ou du manifeste,
- Mises à jour des permissions,
- Changements de fonctionnalités spécifiques au plateau.
Cela nécessite :
bun run build
bunx cap sync
# then App Store / Google Play submission flow
Étape 2 : Suivi JS (Capgo)
Pour des changements de runtime sûrs et petits :
bun run build
bunx @capgo/cli deploy --channel staging
bunx @capgo/cli deploy --channel production
Cela vous permet une itération rapide sans nouvelles mises à jour de binaires tout en gardant le binaire stable.
Comment éviter « oops, cela nécessitait une mise en production native »
Avant chaque Capgo rollout, exécutez ce portillon rapide :
- La modification nécessite-t-elle une nouvelle dépendance native ou une permission ?
- Changements-t-il les capacités annoncées de l'application ?
- Modifie-t-il les limites d'autorisation/sécurité ?
- Pouvons-nous le décrire comme une correction JavaScript non perturbatrice ?
If the answer is yes to (1)-(3), submit a native release. If yes only to (4), send through Capgo.
Ce que cela signifie pour les équipes de conformité
- Vous conservez la bande passante de revue d'applications pour des modifications significatives.
- Vous préservez le contrôle de retrait et la mise à jour rapide.
- Vous réduisez le risque de production en testant les mises à jour dans les canaux avant un déploiement complet.
C'est la même approche que les gens utilisent sur de grands programmes Capacitor en production : mises à jour rapides pour les correctifs JS uniquement, revue native uniquement pour les vrais binaires.
Si vous voulez aller plus loin, associez cela avec une stratégie d'environnement stricte basée sur les canaux afin que la QA ne reçoive jamais les erreurs de production. C'est la façon Capgo-native pour garder la mise en scène, la bêta et la production propres.
Continuez à partir de Comment mettre à jour les applications Capacitor JS sans passer en revue de magasin répétitive
Si vous utilisez Comment mettre à jour les applications Capacitor JS sans passer en revue de magasin répétitive pour planifier l'approbation de magasin et la distribution, connectez-le avec @capgo/capacitor-revue en application pour les détails d'implémentation dans @capgo/capacitor-examen-en-ligne-dans-l'application, En utilisant @capgo/capacitor-examen-en-ligne-dans-l'application pour la capacité native dans En utilisant @capgo/capacitor-examen-en-ligne-dans-l'application, @capgo/capacitor-marché-natif pour les détails d'implémentation dans @capgo/capacitor-marché-natif, En utilisant @capgo/capacitor-marché-natif pour la capacité native dans En utilisant @capgo/capacitor-marché-natif, et Capacitor Mises à jour OTA : Guide d'approbation de l'App Store pour le contexte pratique dans Capacitor Mises à jour OTA : Guide d'approbation de l'App Store.