Heureux 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 :
- Soumission native est toujours requise pour de nouvelles comportements natifs et de grandes capacités.
- Mises à jour en direct sont réservées aux corrections et ajustements JavaScript/web à l'intérieur de votre champ d'application existant.
Les deux iOS et Android peuvent utiliser ce modèle, mais vous devez le traiter comme un flux de travail sûr en matière de politique, et non comme un subterfuge. Ce que permettent Apple et Google en termes simplesVous pouvez traiter Apple et Google comme partageant une frontière similaire :
Vous pouvez traiter Apple et Google comme partageant une frontière similaire :
Vous pouvez traiter Apple et Google comme partageant une frontière similaire :
- You pouvez livrer code interprété par la couche web intégrée (HTML/CSS/JS) sans résoumettre.
- Vous ne devriez pas utiliser ce canal pour des ajouts majeurs de fonctionnalités qui changent la finalité de l'application.
- Vous ne devriez pas modifier les contrôles de sécurité ou de distribution critiques par le biais de JS seul.
La guidance officielle d'Apple autour des 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.
Qu'est-ce que Capgo est bon pour
Capgo est pour :
- corriger rapidement les bogues web
- 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 internes de Q.
Capgo n'est pas pour :
- ajouter des permissions ou de nouvelles capacités natives
- expédier de nouvelles capacités de noyau qui doivent passer en 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 (examen de l'application)
Use your normal Capacitor release process for:
- mises à jour de nouveaux plugins
- changement de l'interface de l'application ou du manifeste
- mises à jour des permissions
- changement de fonctionnalités spécifiques au plateforme
Cela nécessite :
bun run build
bunx cap sync
# then App Store / Google Play submission flow
Voie 2 : voie JS (Capgo)
Pour des modifications de runtime sûres et petites :
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 maintenant le binaire stable.
Comment éviter « oops, cela nécessitait une mise en production native »
Avant chaque déploiement de Capgo, exécutez ce portillon rapide :
- La modification nécessite-t-elle une nouvelle dépendance native ou une autorisation ?
- Modifie-t-elle les capacités annoncées de l'application ?
- Modifie-t-elle les limites d'autorisation/sécurité ?
- Pouvons-nous la décrire comme une correction JavaScript non perturbatrice ?
Si la réponse est oui aux (1)-(3), soumettez une mise en production native. Si oui uniquement à (4), envoyez-le à travers Capgo.
Qu'est-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 le patchage 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 : des mises à jour rapides pour les correctifs JS uniquement, une 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-in-app-review pour les détails d'implémentation dans @capgo/capacitor-in-app-review, En utilisant @capgo/capacitor-in-app-review pour la capacité native dans En utilisant @capgo/capacitor-in-app-review, @capgo/capacitor-native-market pour les détails d'implémentation dans @capgo/capacitor-native-market, En utilisant @capgo/capacitor-native-market pour la capacité native dans En utilisant @capgo/capacitor-native-market, 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.