Passer au contenu principal

Capacitor Mises à jour OTA : Ciblage iOS vs Android

Explorez les différences dans les stratégies d'actualisation OTA pour iOS et Android, en mettant l'accent sur la mise en production, la sécurité et les exigences de l'utilisateur.

Martin Donadieu

Martin Donadieu

Spécialiste de la création de contenu

Capacitor Mises à jour OTA : cibler iOS vs Android

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éploiementLancement immédiat completDéploiement étalé (1% → 100%)
Mises à jour en arrière-planLimitéSupporte les mises à jour A/B
StockageExige un téléchargement completSupporte les mises à jour en streaming
SécuritéCryptage basé sur le matérielBoot de vérification, SELinux
Exigences de puissance50% de batterie ou branchéFlexible
RéseauWi-Fi requisSupporte 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éiOSAndroid
Mise à jour de déploiementMise en ligne immédiateDéploiement étalé (1% → 25% → 50% → 100%)
Mises à jour en arrière-planLimitéSupporte les mises à jour A/B en arrière-plan [8]
Gestion de stockageExige un téléchargement completSupporte les mises à jour en streaming [8]
Exigences de puissanceAu moins 50% de batterie ou branché [5]Exigences de puissance flexibles
Requisitos de réseauUne 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ériodeExigence
Après le 31 août 2024New 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].

iOSFeatureAndroid
Mise à jour de distributionCentralisé par AppleDistribué via les fabricants d'appareils et les opérateurs
Vérification de sécuritéChiffrement basé sur le matérielSELinux + Boot vérifié
Livraison de correctifsRéponses de sécurité rapidesModules Project Mainline
Authentification de mise à jourUID spécifique au dispositifVé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 Interface de la console d'actualisation en direct

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émentationSupport de plateforme
Livraison de mise à jourDéploiement instantanéiOS 13.0+, Android API 22+
SécuritéChiffrement de bout en boutToutes les plateformes
Intégration CI/CDFonctionne avec Azure DevOps, GitHub, GitLabPlateforme croisée
Gestion de stockageCompilé code uniquementStockage de cache spécifique à la plateforme
Contrôle de versionCapacité de reversionToutes 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.

Mises à jour en direct pour les applications Capacitor

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

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