Vous souhaitez mettre à jour votre Capacitor application instantanément sans les retards des magasins d'applications ? Les mises à jour en temps réel (OTA) vous permettent de publier des modifications dans la couche web (HTML, CSS, JavaScript) de votre application sans devoir la ressoumettre aux magasins d'applications. Mais iOS et Android gèrent ces mises à jour différemment, et comprendre ces différences est crucial.
Résultats clés :
-
iOS: Les mises à jour sont déployées immédiatement mais suivent des règles strictes, y compris des restrictions de chemin de fichier et des exigences de puissance/réseau.
-
Android: Utilise des déploiements étalés (1% → 100%) avec des besoins flexibles en matière de puissance et de réseau et prend en charge les mises à jour en arrière-plan.
-
Security: Les deux plateformes mettent en œuvre des mesures de sécurité solides - iOS repose sur une encryption matériellement sécurisée, tandis que Android utilise le Boot vérifié et SELinux __CAPGO_KEEP_0__.
-
CapgoQuick Comparison: Feature iOS
__CAPGO_KEEP_0__
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | Android |
|---|---|---|
| Mise à jour de déploiement | Lancement immédiat complet | Déploiement étalé (1% → 100%) |
| Mises à jour en arrière-plan | Limité | Supporte les mises à jour A/B |
| Stockage | Exige un téléchargement complet | Supporte les mises à jour en streaming |
| Sécurité | Cryptage basé sur le matériel | Boot de vérification, SELinux |
| Exigences de puissance | 50% de batterie ou branché | Flexible |
| Réseau | Wi-Fi requis | Supporte diverses connexions |
Capgo facilite le processus, garantissant que les mises à jour soient sécurisées, efficaces et conformes à la fois sur les deux plateformes. Que vous visiez iOS ou Android, la compréhension de ces différences vous aidera à créer une meilleure stratégie d'update OTA Stratégie d'update OTA.
Comment iOS et Android gèrent les mises à jour OTA
iOS et Android adoptent des approches différentes lorsqu'il s'agit de gérer les mises à jour OTA (par voie aérienne), tant dans leur exécution technique que dans les processus d'approbation.
Règles d'update de l'App Store iOS
Apple a des lignes directrices strictes pour les mises à jour OTA. Les appareils doivent répondre à certaines conditions techniques spécifiques : ils doivent exécuter iOS 5 ou une version ultérieure, être connectés à un réseau Wi-Fi stable et avoir au moins 50 % de batterie ou être branchés sur une source de puissance. [5]. Au-delà de ces exigences techniques, Apple impose un processus de revue rigoureux qui évalue les mises à jour en fonction de la sécurité, de la performance, de la conformité commerciale, de la conception et des normes juridiques [4].
Mise à jour des règles de Google Play Store
Google Play fonctionne différemment, en utilisant un système de déploiement étalé. Les mises à jour commencent par une petite mise à jour vers 1% des utilisateurs pendant 24-48 heures et s'élargissent ensuite, souvent en 25% d'étapes, jusqu'à atteindre un déploiement complet en une à deux semaines. [7]. Since August 2023, all new Android versions must target the highest available API level [3]. De plus, Android utilise des mises à jour en streaming, qui aident à réduire la nécessité d'espace de stockage supplémentaire pendant le processus de mise à jour [8].
Mises à jour de la plateforme
Les distinctions clés entre les mises à jour OTA iOS et Android sont présentées ci-dessous :
| Fonctionnalité | iOS | Android |
|---|---|---|
| Mise à jour de déploiement | Mise en ligne immédiate | Déploiement étalé (1% → 25% → 50% → 100%) |
| Mises à jour en arrière-plan | Limité | Supporte les mises à jour A/B en arrière-plan [8] |
| Gestion de stockage | Exige un téléchargement complet | Supporte les mises à jour en streaming [8] |
| Exigences de puissance | Au moins 50% de batterie ou branché [5] | Exigences de puissance flexibles |
| Requisitos de réseau | Une connexion Wi-Fi est requise [5] | Supporte divers types de connexion |
Le système d'actualisation A/B d'Android se distingue par sa capacité à installer les mises à jour en arrière-plan sans interrompre l'utilisateur. Ce système utilise deux emplacements pour les partitions critiques de démarrage, évitant ainsi la nécessité de partitions dupliquées et optimisant l'espace de stockage par rapport aux méthodes plus anciennes [6]. D'un autre côté, iOS suit un processus d'actualisation plus contrôlé et immédiat, donnant la priorité à la stabilité et à la supervision de l'utilisateur.
Groupes d'utilisateurs et distribution des mises à jour
Lorsqu'il s'agit de la distribution des mises à jour, les stratégies doivent tenir compte des contraintes uniques de divers appareils et systèmes d'exploitation.
Règles d'actualisation basées sur les appareils
Les exigences d'actualisation dépendent fortement du matériel et de la plateforme. Par exemple, les appareils iOS nécessitent au moins 20 % de batterie pour les mises à jour initiées par l'utilisateur et 30 % pour les mises à jour automatiques. Sur les Macs, les exigences diffèrent en fonction du chipset - 20 % de batterie pour les appareils Apple Silicon et 50 % pour les appareils basés sur Intel [10]. Android, d'un autre côté, dispose d'un système plus flexible mais est confronté à des défis dus à la fragmentation de l'écosystème. Les fabricants et les opérateurs introduisent des retards, avec les mises à jour de sécurité prenant en moyenne 24 jours et un supplément de 11 jours pour les compléments spécifiques aux appareils [11].
Exigences de version d'OS
Les exigences d'OS jouent un rôle clé dans la distribution des mises à jour. Pour les applications Android, Google Play impose les exigences suivantes :
| Période | Exigence |
|---|---|
| Après le 31 août 2024 | New apps must target Android 14 (API 34+) |
| Les nouvelles applications doivent cibler Android 14 (__CAPGO_KEEP_0__ 34+) | Existing apps must target Android 13 (API 33+) |
| Les applications existantes doivent cibler Android 13 (__CAPGO_KEEP_0__ 33+) | Ancien |
Les applications ciblant Android 12 ou inférieur doivent se conformer aux versions OS existantes [10]Pour iOS, Apple utilise la réponse de sécurité rapide (RSR) pour livrer des correctifs critiques directement aux dernières versions OS ; . Capgo garantit la compatibilité avec les appareils exécutant iOS 13.0+ et Android API niveau 22+ [9].
Résultats de Stratégie d'Actualisation
d'Android Projet Treble a réduit le temps nécessaire pour les mises à jour de sécurité d'environ 7 jours [11] Pour gérer efficacement les mises à jour, il est recommandé de séparer les canaux de développement et de production canaux d'actualisation [9]Capgo simplifie le processus avec des déploiements basés sur des pourcentages, permettant des déploiements contrôlés tout en respectant les directives des magasins d'applications
L'actualiseur cache également les ensembles téléchargés dans des répertoires spécifiques à la plateforme pour des mises à jour efficaces et sécurisées :
-
Android:
/data/user/0/com.example.app/code_cache/capgo_updater -
iOS:
Library/Application Support/capgo
Ce système de cache garantit des mises à jour fluides et fiables [9].
Vitesse et Efficacité des Mises à Jour
La vitesse et l'efficacité des mises à jour OTA (Over-the-Air) jouent un rôle crucial dans la définition de l'expérience utilisateur sur les deux iOS et Android. Deux facteurs qui influencent fortement cela sont les conditions réseau et la manière dont les tailles de fichiers sont gérées.
Taille de fichier et gestion du réseau
Garder les tailles de fichiers optimisées est crucial pour des mises à jour OTA fluides. Par exemple, l'Capgo’s updater effectue des contrôles de mise à jour dans un thread de fond pendant le démarrage de l'application, garantissant que l'interface utilisateur reste réactive [9]. It also supports JavaScript updates while locking native code (like Java/Kotlin or Objective-C/Swift) to maintain stability [9].
Même avec des tailles de fichiers plus petites, la vitesse de mise à jour est toujours un facteur majeur. iOS a souvent un avantage ici en raison de son matériel et de son logiciel étroitement intégrés, qui peuvent traiter les mises à jour plus rapidement
D'un autre côté, la large gamme de matériel d'Android peut parfois entraîner des performances de mise à jour inégales [14]« Déployer des mises à jour en direct auprès des utilisateurs est l'un des avantages les plus critiques de Appflow, la plateforme de CI/CD mobile d'Ionic. » [13][14].
– Cecelia Martinez, Développeur Advocat
Pour améliorer l'efficacité des mises à jour, des stratégies comme les mises à jour différentielles et la mise en œuvre de la fonctionnalité native sont clés. L'__CAPGO_KEEP_0__, par exemple, déplace certaines opérations vers la couche native. Lorsqu'il est associé à des mises à jour différentielles, cette approche réduit à la fois les temps de mise à jour et la consommation de données [12]
To improve update efficiency, strategies like differential updates and leveraging native functionality are key. Capacitor, for example, shifts certain operations to the native layer. When paired with differential updates, this approach cuts down both update times and data usage [12]Instantly deploying live updates to users is one of the most critical benefits of Appflow, Ionic’s mobile CI/CD platform. [13] - La livraison d'actualisations efficaces est particulièrement importante pour maintenir une performance cohérente sur ses appareils variés.
sbb-itb-f9944d2
Règles et Exigences de Sécurité
Lorsqu'il s'agit d'actualisations OTA, iOS et Android adoptent des approches distinctes pour garantir la protection des données et la sécurité du système, chacun utilisant son propre ensemble de protocoles adaptés.
Normes de Sécurité iOS
Le processus d'actualisation d'Apple est étroitement contrôlé et conçu avec une sécurité stricte à l'esprit. Les appareils iOS s'appuient sur l'encryption matériel, en utilisant deux clés AES 256-bit intégrées uniques à chaque appareil [17]. Chaque appareil comporte également un UID matériel unique avec une clé AES 256-bit intégrée [17]. Les actualisations sont vérifiées pour leur intégrité, personnalisées pour les appareils individuels et accompagnées de mesures de protection contre les attaques de downgrade. Apple isole également les données de l'utilisateur pendant les actualisations pour prévenir les risques de sécurité [10]. Un élément marquant est la réponse de sécurité rapide d'Apple __CAPGO_KEEP_0__, permettant un déploiement rapide de correctifs de sécurité sans nécessiter une mise à jour du système complet [10].
Normes de sécurité Android
La sécurité d'Android repose sur une base Linux, se concentrant sur l'isolement de l'utilisateur et les protections au niveau du système. Chaque application est attribuée un UID unique, tandis que SELinux applique un contrôle d'accès obligatoire. La Fonction de démarrage vérifié s'assure de l'authenticité de code [18]. Pour les mises à jour OTA, Android utilise un Système de partition virtuel A/B (avec compression pour les appareils exécutant Android 11 et ultérieur), un Keystore matériel pour les tâches cryptographiques et des mises à jour transmises par les fabricants et les opérateurs Caractéristique [15].
| iOS | Feature | Android |
|---|---|---|
| Mise à jour de distribution | Centralisé par Apple | Distribué via les fabricants d'appareils et les opérateurs |
| Vérification de sécurité | Chiffrement basé sur le matériel | SELinux + Boot vérifié |
| Livraison de correctifs | Réponses de sécurité rapides | Modules Project Mainline |
| Authentification de mise à jour | UID spécifique au dispositif | Vérification de l'emplacement de démarrage |
Comparaison des exigences de sécurité
Les différences entre ces cadres mettent en évidence comment chaque plateforme façonne son approche de sécurité. iOS fonctionne dans un modèle de « jardin clos », offrant un contrôle serré et des mesures de sécurité standardisées. En revanche, l'écosystème Android ouvert fournit plus de flexibilité dans les mécanismes d'actualisation mais peut parfois rencontrer des défis de fragmentation [15]Ces structures de sécurité influencent directement la fiabilité des mises à jour OTA.
Pour les développeurs travaillant avec des outils comme Capgo, comprendre ces distinctions est essentiel. iOS impose une isolation d'application plus stricte et limite l'accès au système API [17]alors que les options de communication entre processus d'Android plus larges exigent une gestion de sécurité soigneuse [18]À partir de février 2025, avec iOS 18.3.1 et diverses versions d'Android en cours d'utilisation [16]les développeurs doivent s'assurer que leurs stratégies d'actualisation OTA s'alignent sur les derniers standards de sécurité pour chaque plateforme.
Capgo Présentation de la plateforme

Capgo rassemble les règles d'actualisation OTA spécifiques à la plateforme en une plateforme d'actualisation simplifiée.
En travaillant avec les protocoles de sécurité iOS et Android, Capgo garantit une mise à jour OTA sans heurts. À ce jour, il a livré 947,6 millions de mises à jour dans 1 400 applications de production [1].
Capgo Fonctions clés
Capgo se concentre sur la résolution des défis de mise à jour avec une livraison sécurisée, efficace et conforme. Les mises à jour sont protégées par chiffrement de bout en bout, et la déchiffrement n'a lieu que sur les appareils utilisateur [1]. Pour iOS, il utilise un interpréteur personnalisé pour se conformer à la règle d'interprétation uniquement de l'Apple [9]. On Android, it supports API level 22 and above, in line with Capacitor’s requirements [9].
| Fonctionnalité | Implémentation | Support de plateforme |
|---|---|---|
| Livraison de mise à jour | Déploiement instantané | iOS 13.0+, Android API 22+ |
| Sécurité | Chiffrement de bout en bout | Toutes les plateformes |
| Intégration CI/CD | Fonctionne avec Azure DevOps, GitHub, GitLab | Plateforme croisée |
| Gestion de stockage | Compilé code uniquement | Stockage de cache spécifique à la plateforme |
| Contrôle de version | Capacité de reversion | Toutes les plateformes |
Gestion des mises à jour transversales entre les plateformes
Capgo’s système de chaînes donne aux développeurs un contrôle précis sur les mises à jour pour iOS et Android. Ce système permet :
-
Des chaînes de mise à jour séparées pour iOS et Android
-
Téléchargement paquets distincts avec un lien transverse entre les chaînes facultatif
-
Détection automatique des modifications natives de code [9]
L'impact réel de la plateforme est clair. Par exemple, celui de NASA OSIRIS-REx l'équipe partagée :
“@Capgo est une façon intelligente de faire des code chauds (et pas pour tout l'argent du monde comme avec @AppFlow) :-)” [1]
Capgo peut ajuster tout code JavaScript, y compris les applications et les code générés, mais il évite strictement de modifier les code natifs (comme Java/Kotlin pour Android ou Objective-C/Swift pour iOS) [9].
Conclusion
Mises à jour OTA pour Capacitor applications exigent des approches différentes pour iOS et Android en raison de règles spécifiques aux plateformes. Pour iOS, il existe des contrôles plus stricts, comme la restriction de chemin de fichier qui limite les chemins de serveur à « /Library/NoCloud/ionic_built_snapshots » [2]Tandis que l'Android permet plus de liberté, avec moins de limitations sur les machines virtuelles et les interpréteurs accédant aux API [2]Ces différences mettent en évidence l'importance de créer des stratégies d'actualisation qui s'alignent sur chaque cadre de la plateforme
Les données provenant de plateformes comme Capgo démontrent l'efficacité de ces stratégies. Les développeurs ont réussi à livrer 947,6 millions d'actualisations sur 1 400 applications de production, prouvant la scalabilité de systèmes d'actualisation bien conçus [1]Cependant, le succès repose fortement sur le fait de rencontrer les exigences de chaque plateforme tout en maintenant des mesures de sécurité solides
Par exemple, Apple impose que les code interprétés ne modifient pas la fonctionnalité fondamentale d'une application ou ne compromettent pas sa sécurité. [2] Cette règle est un rappel clair des directives spécifiques au plateau que les développeurs doivent suivre pour mettre en œuvre les mises à jour OTA de manière efficace.