À propos d'Android App Bundle
Qu'est-ce que le format Android App Bundle (AAB) ?
Lancé en 2018, Android App Bundle (AAB) est un format de publication pour Android compatible avec Google Play et d'autres plates-formes de téléchargement d'applications, ainsi qu'avec des outils de production comme Android Studio, Bazel, Buck, Cocos Creator, Gradle, Unity et Unreal.
Quelle est la différence entre AAB et APK ?
Les app bundles ne servent qu'à la publication et ne peuvent pas être installés sur des appareils Android. Le format de package Android (APK) est le format installable et exécutable d'Android pour les applications. Les app bundles doivent être transformés en APK par un distributeur afin de pouvoir être installés sur des appareils.
AAB est-il un format propriétaire qui ne peut être utilisé que sur Google Play ?
Non, AAB n'est pas un format propriétaire. Le format app bundle est Open Source. Il est compatible avec n'importe quelle plate-forme de téléchargement d'applications. Les app bundles sont compatibles avec Google Play et d'autres plates-formes de téléchargement d'applications.
Est-ce que le fait d'utiliser un format AAB m'empêche de publier mon contenu sur d'autres plates-formes de téléchargement d'applications ?
Non, cela ne vous empêche pas de publier votre contenu sur d'autres plates-formes de téléchargement d'applications. Lorsque vous compilez votre application, vous pouvez créer simultanément des packages AAB et APK en fonction du format de publication requis pour chaque plate-forme de téléchargement d'applications.
Est-ce que créer un package AAB demande beaucoup de travail ?
Pour la plupart des applications, créer un AAB ne demande pas plus d'efforts que de créer un APK. Il faut simplement choisir le format AAB au lieu du format APK lors de la compilation. Pour certaines applications, vous devrez peut-être apporter des modifications pour bénéficier de tous les avantages du format AAB.
Y a-t-il déjà des développeurs qui utilisent le format AAB ?
Oui. Plus d'un million d'applications et de jeux utilisent le format app bundle pour leur version de production sur Google Play, y compris la majorité des applications populaires, ce qui représente des milliards d'installations actives. Si vous utilisez Google Play pour installer des applications, sachez qu'un grand nombre d'entre elles ont été publiées en tant qu'app bundles.
Le format AAB empêche-t-il les utilisateurs de télécharger des applications de manière indépendante ?
Non, le format AAB n'empêche pas les utilisateurs d'installer des APK à partir de sources indépendantes. AAB n'étant qu'un format de publication, il ne modifie pas le fonctionnement de la plate-forme Android.
Si un développeur utilise le format AAB pour fournir des APK optimisés, cela signifie-t-il que les utilisateurs qui partagent ces APK peuvent rencontrer des problèmes ?
Dans de rares cas, sur Android, il n'est pas possible de transférer directement une application d'un appareil à un autre, que l'application ait été publiée via APK ou via AAB. Plus précisément, lorsqu'un APK a été optimisé pour un appareil (par exemple, pour une architecture de puce spécifique), le transfert direct de cet APK vers un autre appareil peut entraîner des problèmes si l'appareil cible n'a pas les mêmes propriétés que l'appareil d'origine. Dans ce cas, vous devez installer un APK ou un ensemble d'APK appropriés pour l'appareil cible.
Puis-je publier des applications sur plusieurs plates-formes de téléchargement d'applications ?
Oui, vous pouvez publier sur plusieurs plates-formes de téléchargement d'applications, que vous utilisiez ou non le format AAB. Vous pouvez publier des AAB sur Google Play et d'autres plates-formes de téléchargement compatibles, et vous pouvez publier des APK sur d'autres plates-formes de téléchargement d'applications ou sites Web qui n'acceptent pas le format AAB.
Les exigences concernant le format AAB s'appliquent-elles aux applications privées publiées sur Google Play d'entreprise ?
Non, les applications privées publiées sur Google Play d'entreprise peuvent être publiées avec des APK ou des AAB. Lorsque vous créez une application privée, vous pouvez sélectionner Modifier la clé de signature d'application et désactiver la signature d'application Play si vous souhaitez publier un APK privé autosigné.
À propos de la signature d'application Play
Qu'est-ce que la signature d'application Play ?
Sur Android, chaque APK doit être signé cryptographiquement avec une clé de signature d'application pour pouvoir être installé. La plate-forme Android utilise cette clé pour garantir que les éventuelles mises à jour correspondent bien à l'application installée sur l'appareil. Autrement dit, après une installation initiale, chaque mise à jour de l'application provient bien du même titulaire de clé. Vous réduisez ainsi le risque de mises à jour provenant d'applications malveillantes. Lancé en 2017, le service Signature d'application Play est le service de gestion de clés de Google Play qui protège et gère les clés de signature d'application des développeurs Play pour leurs applications distribuées sur Play. En outre, la signature d'application Play effectue l'opération de signature sur les APK générés par Play à partir des AAB importés. La signature d'application Play est requise pour les nouvelles applications afin qu'elles puissent utiliser les AAB.
Pourquoi Google a-t-il lancé le service Signature d'application Play ?
Pendant des années, les clés de signature d'application ont représenté un défi pour les développeurs Play. Si vous perdiez la clé, vous ne pouviez plus fournir de mises à jour d'application aux utilisateurs. Une clé dont la sécurité est compromise expose les utilisateurs à des mises à jour malveillantes. Dans le cadre de la distribution de logiciels, il est courant pour les canaux de distribution de stocker et de gérer les clés du logiciel qu'ils distribuent, car cela réduit les risques. La signature d'application Play a été lancée en 2017 pour éliminer le risque de perdre des clés de distribution Play, afin de protéger les utilisateurs en cas de piratage de clés et de permettre aux développeurs de bénéficier de l'investissement continu de Google dans la sécurité.
Comment Google garantit-il la sécurité du service Signature d'application Play ?
Google protège les clés des développeurs au sein de l'infrastructure de pointe et sécurisée utilisée pour ses propres clés. Les clés sont stockées de manière chiffrée sur des serveurs de gestion de clés verrouillés et dédiés, avec des LCA strictes et des pistes d'audit anti-piratage qui couvrent toutes les opérations. Les opérations de sécurité et les bonnes pratiques cloud de Google sont détaillées en ligne.
Puis-je choisir la clé de signature d'application que Play utilise pour mon application ?
Oui. Lorsque vous créez une application, vous pouvez demander à Google de générer et de stocker une clé de signature d'application en votre nom. Vous pouvez également choisir votre propre clé de signature d'application et en importer une copie.
Je souhaite utiliser la même clé de signature d'application pour Play et les autres plates-formes de téléchargement d'applications. Est-ce toujours possible ?
Si vous avez décidé d'utiliser la même clé de signature sur plusieurs plates-formes de téléchargement d'applications après avoir examiné le fonctionnement des mises à jour d'applications, vous pouvez toujours le faire. N'oubliez pas que cela permettra à chaque plate-forme de téléchargement d'applications d'effectuer des mises à jour multiplates-formes pour votre application. Vous avez deux options:
- Vous pouvez générer une clé localement et en importer une copie sur Play. Ainsi, vous pouvez utiliser la même clé que celle utilisée par Google Play lorsque vous compilez votre application pour d'autres plates-formes de téléchargement d'applications.
- Vous pouvez utiliser une clé générée par Google pour la signature d'application Play, puis télécharger depuis la Play Console des APK de distribution signés avec la clé générée par Google et utiliser ces APK pour les distribuer sur d'autres plates-formes de téléchargement d'applications ou sites Web.
Puis-je utiliser la signature d'application Play pour une application créée avant août 2021 sans fournir de copie de ma clé de signature d'application ?
Oui, le service Signature d'application Play est compatible avec une option de mise à niveau de la clé pour les applications créées avant août 2021. Cela permettra à l'application de commencer à utiliser la signature d'application Play avec une nouvelle clé de signature d'application. Toutefois, pour utiliser cette option, après avoir effectué la mise à niveau, vous devrez importer deux éléments dans chaque version : un app bundle et un ancien APK signé avec votre ancienne clé de signature d'application. Play utilisera vos AAB pour générer des APK signés avec la clé mise à niveau pour les nouvelles installations et leurs mises à jour. En parallèle, Play utilisera vos anciens APK pour mettre à jour l'application auprès des utilisateurs qui l'ont déjà installée. Au fil du temps, les anciennes installations migreront vers la clé mise à niveau (par exemple, lorsque les utilisateurs migreront vers un nouvel appareil mobile).
Est-il possible d'utiliser la même clé de signature pour les applications créées avant août 2021 et après août 2021 ?
Il n'est généralement pas recommandé d'utiliser la même clé de signature d'application pour plusieurs applications. Il est plus sûr d'utiliser une clé unique pour chaque application. Toutefois, si vous avez besoin d'utiliser la même clé de signature d'application pour plusieurs applications, c'est possible. Vous pouvez également importer une copie de la clé de signature d'application existante lors de la configuration de la signature d'application Play. Si vous ne souhaitez pas partager la clé de signature d'application existante, vous pouvez utiliser la nouvelle option de mise à niveau de la clé pour votre application antérieure à août 2021 afin de commencer à utiliser la signature d'application Play. Ainsi, votre application d'avant août 2021 et votre application d'après août 2021 pourront utiliser la même clé.
Puis-je modifier la clé de signature d'application utilisée par le service Signature d'application Play ?
Oui, les applications peuvent modifier leur clé en demandant une mise à niveau dans la Play Console.
Comment vérifier que Google Play n'a pas apporté de modifications inattendues à mon code ?
Vous pouvez à tout moment télécharger et inspecter des artefacts à partir de Google Play et de l'explorateur d'app bundle dans la Play Console. De plus, l'API Play Developer vous permettra bientôt de valider les APK avant de les proposer dans un canal de publication. Vous pouvez également utiliser une fonctionnalité facultative appelée transparence du code pour les app bundles. Grâce à la transparence du code, vous et vos utilisateurs finaux pouvez tenir une plate-forme de téléchargement d'applications telle que Google Play responsable du code fourni.
Comment fonctionne la transparence du code pour les app bundles ?
La transparence du code est une fonctionnalité facultative qui permet de tenir une plate-forme de téléchargement d'applications responsable du code qu'elle distribue. Pour utiliser la transparence du code, au moment de la compilation, vous générez un fichier de transparence du code dans votre application (un fichier contenant des hachages du code de votre application). Ce fichier représente votre code. Vous le signez avec votre propre clé de transparence du code privée que vous seul détenez. Vous n'avez jamais besoin de fournir votre clé de transparence du code à Google. Ensuite, sur un appareil, vous pouvez inspecter un APK installé et vérifier que le fichier de transparence du code que vous avez signé correspond toujours au code de l'APK. Ainsi, même si l'APK lui-même est signé de nouveau lors de la distribution, le code validé par la transparence du code n'est pas modifié. En cas de non-concordance, cela signifie que le code a été modifié pendant la distribution. La transparence du code ne remplace pas les signatures d'APK et ne fait pas partie de la plate-forme Android.
Publication d'applications et de jeux volumineux sur Google Play
Quelles sont les limites de taille des applications Google Play lorsque vous utilisez le format AAB ?
La taille de téléchargement compressée maximale pour un module de base généré à partir d'un AAB est de 200 Mo. Autrement dit, Google Play génère d'abord le module de base, puis tous les modules de fonctionnalités ou packs d'éléments supplémentaires de votre AAB. Google Play vérifie ensuite que la taille totale de téléchargement compressée cumulée par un appareil individuel ne dépasse pas 4 Go.
Les fichiers d'extension (OBB) des packages AAB sont-ils compatibles avec Google Play ?
Non, Google Play n'est pas compatible avec les fichiers d'extension pour AAB. Les fichiers d'extension (OBB) sont une ancienne solution spécifique à Google Play permettant de publier des applications et des jeux volumineux à l'aide d'APK. Il existe des alternatives Google et tierces pour les AAB de plus de 200 Mo.
Comment publier une application ou un jeu de plus de 200 Mo sur Google Play ?
Les applications et jeux volumineux qui utilisent le format AAB peuvent utiliser des services de diffusion Play tels que Play Asset Delivery ou Play Feature Delivery pour dépasser la limite de taille de 200 Mo, ou utiliser des réseaux de diffusion de contenu tiers.
Quels sont les avantages de Play Asset Delivery par rapport aux fichiers d'extension (OBB) ?
Sur Google Play, les APK nécessitaient des fichiers d'extension distincts pour diffuser des ressources supplémentaires aux utilisateurs. Toutefois, comme les OBB ne sont pas signés et qu'ils sont stockés dans le stockage externe de l'application, ils ne sont pas très sécurisés. Avec Play Asset Delivery (PAD), les jeux de plus de 200 Mo peuvent remplacer les fichiers OBB en publiant l'intégralité du jeu en tant qu'app bundle unique sur le Play Store. En plus d'offrir un processus de publication plus fluide et des modes d'envoi flexibles, avec PAD, les mises à jour nécessitent moins d'espace de stockage sur l'appareil. Par conséquent, cela peut générer des taux d'installation plus élevés. Enfin, ASTC étant désormais pris en charge sur environ 80 % des appareils, la fonctionnalité de ciblage du format de compression des textures de PAD vous permet de fournir des contenus ASTC sur les appareils compatibles. Vous pouvez cibler un large éventail d'appareils tout en utilisant efficacement le matériel et l'espace de stockage disponibles.
Fonctionnalités de diffusion Google Play débloquées par AAB
Quels sont les exemples de nouvelles fonctionnalités proposées par Play aux développeurs qui utilisent AAB ?
Les plates-formes de téléchargement d'applications comme Google Play transforment les packages AAB en APK installables. Puisqu'elles sont responsables des APK, elles peuvent proposer de nouvelles fonctionnalités et de nouveaux services pour les développeurs et les utilisateurs. Play propose déjà de tels services, qui sont largement utilisés et appréciés par les développeurs, par exemple Play Feature Delivery et Play Asset Delivery.
Qu'est-ce que Play Feature Delivery ?
L'une des caractéristiques des app bundles est qu'ils permettent de séparer une application en plusieurs modules, appelés "modules de fonctionnalités". Ces modules peuvent ensuite être distribués de manière dynamique aux utilisateurs et aux appareils à des moments différents (contrairement à auparavant, où tout devait être distribué avec un seul fichier au moment de l'installation). Play Feature Delivery vous permet de personnaliser les modules de fonctionnalités diffusés sur chaque appareil et quand, grâce aux modes d'envoi au moment de l'installation, conditionnels et à la demande. Cela vous permet de réduire la taille de votre application, ce qui génère davantage d'installations, et d'adapter votre expérience. Par exemple, vous pouvez proposer une fonctionnalité rarement utilisée, telle que le service client à la demande, aux utilisateurs qui en ont besoin, au lieu de la proposer au moment de l'installation, ce qui réduit la taille de votre installation initiale pour tous les utilisateurs. Vous pouvez également proposer une expérience d'application complète sur les appareils haut de gamme tout en offrant une expérience d'application plus simple avec des fonctionnalités à la demande facultatives sur les appareils d'entrée de gamme, qui présentent des contraintes en termes de données et de stockage.
Qu'est-ce que Play Asset Delivery ?
Play Asset Delivery permet aux développeurs de jeux d'améliorer l'expérience utilisateur et de réduire le temps d'attente en diffusant de manière dynamique des éléments volumineux au moment optimal. Les jeux utilisant Play Asset Delivery peuvent également utiliser le ciblage par format de compression de texture afin que les utilisateurs ne disposent que des assets adaptés à leur appareil, sans gaspiller d'espace ni de bande passante.
Ces fonctionnalités de diffusion Play sont-elles disponibles sur d'autres plates-formes de téléchargement d'applications ?
Non. Play Feature Delivery et Play Asset Delivery concernent les applications et les jeux proposés directement sur le Google Play Store. Ces services facultatifs sont des exemples qui permettent à Play de se différencier en tant que plate-forme de téléchargement d'applications, et d'apporter une valeur et une utilité supplémentaires à ses développeurs et utilisateurs. D'autres plates-formes de téléchargement d'applications utilisant les app bundles et les APK proposent leurs propres services aux développeurs.