Ce guide explique comment la plate-forme Android et Google Play gèrent les mises à jour d'applications. Il présente également diverses options pour les développeurs qui publient leurs applications sur plusieurs plates-formes de téléchargement dédiées.
Comment Android gère les mises à jour d'applications
Chaque application Android a un ID application unique semblable
à un
nom de package Java ou Kotlin tel que com.example.myapp
. Cet ID identifie
de manière unique chaque application installée sur l'appareil. Une seule application possédant un ID donné peut être installée à la fois sur les appareils Android.
Pour que la plate-forme Android accepte une mise à jour, les conditions suivantes doivent être remplies :
- L'ID application de la mise à jour doit être identique à celui de l'application installée.
- Le certificat de signature de la mise à jour doit être le même que celui de l'application installée ou contenir une preuve de rotation valide.
- Le code de version de la mise à jour doit être supérieur ou égal à celui de l'application installée.
- Dans certains cas, l'utilisateur devra peut-être accepter la mise à jour.
Lorsque les mises à jour ont le même certificat de signature et un code de version supérieur ou égal au précédent, il n'y a pas de prévention intégrée contre différents programmes d'installation mettant à jour une application.
Pour installer une application qui ne remplit pas les conditions ci-dessus, l'utilisateur doit d'abord désinstaller la version actuellement installée (toutes les données de l'application seront alors effacées de l'appareil).
Comment Google Play met à jour les applications
L'approche de Google Play pour mettre à jour les applications repose sur les principes suivants :
- Tenez les utilisateurs informés. Nous vous recommandons de maintenir les applications à jour pour protéger les utilisateurs contre les problèmes de sécurité et bénéficier des dernières améliorations des fonctionnalités.
- Respectez le choix de l'utilisateur. Google Play met à jour les applications associées aux comptes des utilisateurs et en fonction des préférences de mise à jour choisies, par exemple en autorisant ou en interdisant l'utilisation des données facturées à l'usage.
- Respectez les choix des développeurs. Google Play utilise les options de configuration des développeurs pour déterminer les mises à jour d'applications.
- Évitez le gaspillage de ressources. Préservez l'autonomie de la batterie en optimisant le moment du téléchargement des mises à jour et minimisez l'utilisation des données à l'aide de techniques telles que la compression et l'application de correctifs.
Google Play met à jour toute application installée sur un appareil si elle remplit les conditions suivantes :
- L'application est publiée sur Google Play avec le même ID application.
- Le certificat de signature de l'application publiée est le même que celui de la version actuellement installée ou contient une preuve de rotation valide.
- L'application fait partie de la bibliothèque de l'utilisateur ou a été préchargée par un OEM.
- L'application est accessible à cet utilisateur et à cet appareil, selon les options de ciblage définies par le développeur.
- L'application installée est obsolète par rapport à la version disponible sur Google Play.
Tant que ces conditions sont remplies, Google Play peut mettre à jour l'application. Certaines d'entre elles sont détaillées dans les sous-sections ci-dessous.
Notez que, dans d'autres cas, Google Play télécharge le contenu de l'application ou effectue la maintenance des binaires de l'application au nom des développeurs sans modifier le code de version d'Android, par exemple lors de téléchargements partiels ou du téléchargement de divisions à la demande.
Être publiée sur Google Play
Google Play utilise l'ID application pour identifier de manière unique les applications publiées sur Google Play. Cette condition est remplie si l'ID de l'application installée est identique à celui d'une application publiée sur Google Play.
Faire partie de la bibliothèque de l'utilisateur
Cette condition est remplie si l'un des points suivants est vrai :
- Tout compte Google actif sur l'appareil a déjà acquis l'application lorsque l'utilisateur a appuyé sur le bouton d'installation ou d'achat sur Google Play.
- L'OEM a préchargé l'application dans l'image système.
Les utilisateurs peuvent également supprimer manuellement des applications de leurs bibliothèques.
Obsolète
Google Play détermine si une application installée sur un appareil est obsolète en consultant le code de version. Si la version disponible en téléchargement sur Google Play a un code de version supérieur à celui de la version installée, Google Play considère l'application installée comme obsolète.
Applications sur plusieurs plates-formes de téléchargement dédiées
Lorsque vous publiez une application sur plusieurs plates-formes de téléchargement dédiées, il y a plusieurs façons de contrôler les mises à jour multiplates-formes. Ces différentes méthodes, ainsi que leurs avantages et inconvénients potentiels sont décrits dans les sections ci-après.
Empêcher les mises à jour multiplates-formes
Vous pouvez empêcher chaque plate-forme de téléchargement d'applications d'effectuer des mises à jour multiplates-formes pour votre application (par exemple, si le contenu de l'application diffère sur chaque plate-forme). Pour cela, publiez l'application avec deux ID application différents, ou publiez-la avec le même ID application et deux clés de signature différentes.
Vous pouvez limiter la réutilisation de votre clé de signature pour réduire le risque de piratage. Par conséquent, utilisez une clé de signature d'application différente pour chaque plate-forme de téléchargement d'applications. Cela empêcherait les mises à jour multiplates-formes.
Quelle que soit l'approche que vous choisissez, Android considère comme incompatible toute application dont l'ID et la clé de signature ne correspondent pas. Si un utilisateur souhaite passer d'une plate-forme à une autre, il doit supprimer l'application installée (toutes les données qui lui sont associées seront alors effacées), puis la réinstaller à partir de l'autre plate-forme.
Autoriser les mises à jour multiplates-formes
Vous pouvez autoriser chaque plate-forme de téléchargement d'applications à effectuer des mises à jour multiplates-formes pour votre application (par exemple, si vous distribuez l'application avec le même contenu sur toutes les plates-formes et que vous voulez donner la priorité aux utilisateurs à jour). Tant que vous utilisez le même ID application et les mêmes clés de signature pour toutes les plates-formes de téléchargement sur lesquelles vous publiez votre application, chaque plate-forme peut alors mettre à jour les installations de votre application indépendamment de l'endroit où l'utilisateur a initialement téléchargé l'application.
Toutefois, cela peut entraîner un comportement imprévisible pour vos utilisateurs, en fonction de la manière dont chaque plate-forme de téléchargement choisit d'implémenter les mises à jour multiplates-formes. Par exemple, un utilisateur peut désactiver les mises à jour effectuées par une plate-forme, sans réaliser qu'une autre peut continuer de les fournir.
Si vous avez précédemment autorisé les mises à jour multiplates-formes, mais que vous voulez commencer à privilégier une source de mise à jour particulière lorsqu'elle est présente sur l'appareil, vous pouvez publier votre application avec un code de version supérieur sur la plate-forme de votre choix et continuer de la publier avec des codes de version inférieurs sur d'autres plates-formes. Une fois que la mise à jour avec le code de version supérieur a été installée par votre source préférée, les autres plates-formes de téléchargement ne peuvent plus effectuer de mises à jour multiplates-formes sur cet appareil.