Alors que vous êtes sur le point de déposer votre build android pour mobile sur la console Google Play Developer, il se peut que vous tombiez sur l’erreur suivante:
Votre app bundle ….et dépasserait la taille maximale autorisée (150 Mo) …
Et là c’est la catastrophe !
Impossible de dépasser les 150 Mo ? Mais comment je vais déposer mon magnifique jeu ?
Ne vous inquiétez pas ! En effet, il existe heureusement une solution prévue par Unity.
Nous allons donc voir ici comment résoudre le problème, sans avoir besoin de limiter la taille de votre bundle.
Pré-requis : Savoir faire un build android sous Unity, Savoir utiliser la Google Play Console Developer
Qu’est que l’on dépose exactement sur Google Play ?
Depuis 2021 déjà, on ne peut plus déposer d’apk (Android Application Package) sur Google Play, mais un aab (Android Application Bundle).
Cela permet par exemple d’inclure dans le fichier aab, des versions différentes de votre application. Ainsi vous pouvez créer une version pour les devices mobiles de type ARM7, et une autre version pour les ARM64.
C’est donc lors de l’installation depuis le store, que votre utilisateur, enfin son device , recevra automatiquement la bonne version.
Ainsi lors de l’installation, Google Play va automatiquement générer et signer l’apk correspondant.
Générer un fichier abb depuis Unity
Lorsque l’on s'apprête à déposer sur Google Play le build de l’application, il faut donc générer un fichier abb que l’on soumettra à Google.
Jusqu’à cet instant il est fort probable que l’on ait généré uniquement des fichiers apk afin de pouvoir tester sur notre smartphone de test.
Ainsi il suffit de cocher “Build App Bundle (Google Play)", avant de cliquer sur “Build”.
Encore une fois inutile de cliquer sur “Build and Run”
Le fichier résultant du build “nomDuBuild.aab”, sera déposé sur Google Play
Gérer la taille du fichier généré
Unity génère sans problème le fichier voulu, mais comme on l’a vu au tout début, si la taille du fichier dépasse la limite des 150Mo, on aura une erreur et donc impossible d’uploader le fichier sur Google Play.
Heureusement on peut diviser le gros fichier apk final, qui sera généré par Google, en plusieurs plus petits. Cela s’appelle “spliter” le fichier 🙂
L’idée sous-jacente finale, lors de l’installation-génération de l’apk par Google, sur le device de l'utilisateur, est donc de créer un premier fichier léger qui ensuite installera une fois lancé le second qui contiendra tout le reste.
Par exemple, le premier fichier apk généré contiendra que la première scène menu de notre application.
Et c’est là où Unity entre de nouveau en jeu car il existe un paramètre dans les player settings qui fait le café … génial, non ?
Ainsi il suffit d’aller sur les “publishing settings” et de cocher “Split Application Binary”.
Juste en faisant cela le fichier aab généré lors du build sous Unity, permettra de créer un premier apk léger (base apk) et un autre contenant tout le reste (datas apk, appelé aussi fichier d’expansion)
Bilan final
Une fois le split réalisé, il suffit alors de déposer le nouveau fichier aab sur Google Play Developer console.
Et cette fois-ci l’erreur aura disparu !
Ainsi nous retiendrons que dès que le fichier aab dépasse 150Mo, il faudra systématiquement choquer la case “Split Application Binary” et refaire un build.
Cependant il est bien sûr fortement conseillé de toujours optimiser la taille du build même si cette option existe…mais ça c’est une autre histoire 🙂
A bientôt pour d’autre tutoriels