Google veut vraiment résoudre le problème des emojis sur Android

Android a un problème avec Emoji et Google adopte une approche en deux volets pour le résoudre avec les polices système pouvant être mises à jour et EmojiCompat.

Aimez-les ❤ ou détestez-les 🤬, les emojis sont devenus une forme d'expression incontournable de nos jours. Ces petites taches ajoutent de l’émotion et de l’intention aux mots, et les conversations sur Internet seraient incomplètes sans elles. Ils sont très importants, même pour les conversations interpersonnelles: pourquoi perdre du temps à dire beaucoup de mots alors que les emoji sont trompeurs? Il n’est donc pas surprenant que Google se soit penché sur Android et ait compris qu’il y avait un problème d’emoji. Android 12, il essaie de le réparer.

Android et son problème d'emoji

Les émojis sont un gros problème. L'utilisation des emojis atteint un niveau record et les utilisateurs de certaines applications envoient des milliards d'emojis chaque jour. Nourrir et suivre ces changements est la Norme Unicode, et il reçoit des mises à jour fréquentes qui ajoutent de nouveaux emojis. Ces nouveaux emojis s’articulent autour de nouveaux cas d’utilisation, tendances et même variations pour en faire de meilleurs représentants de la diversité et de l’inclusion.

Dans son Présentation de l'Android Dev Summit 2021, Google affirme que 96 % des utilisateurs d'Android ne voient pas les derniers emojis, ce qui contraste fortement avec les 16 % d'utilisateurs iOS qui ne peuvent pas voir les derniers emojis. Les 100 meilleurs emojis représentent environ 82 % du total des partages d’emojis. Mais pour 20% de ces partages, l'expéditeur envoie un emoji mais le destinataire ne voit qu'un "tofu" ou le cassé image indiquée par une case contenant un X, ce qui signifie que leur système téléphonique ne dispose pas de l'emoji correspondant. afficher.

Les problèmes ne s'arrêtent pas au tofus. Dans certaines situations concernant les emojis plus récents et les anciennes versions d'Android, l'emoji affiché finit par être une représentation formelle, obligeant les utilisateurs à faire une gymnastique mentale pour comprendre ce qui se passe réellement sur.

Avant Android 12, chaque fois qu'Unicode recevait de nouveaux emojis, nous devions attendre une mise à niveau du système d'exploitation Android vers atteindre nos téléphones pour prendre en charge les emoji, avant de pouvoir réellement les intégrer à notre Internet jargon. Et nous savons tous à quel point la situation des mises à jour d’Android est mauvaise. Oui, ça s'est amélioré. Mais à moins que vous n'ayez un produit phare, il est probable qu'il vous faudra encore quelques mois avant que la dernière mise à jour n'atteigne votre appareil dans une version stable. Il y a de fortes chances que d'autres nouveaux emojis aient été ajoutés dans ce décalage, vous gardant à l'écart du jargon actuel.

Il est clair qu’il y a un problème ici et qu’il doit y avoir une solution. Google s'est fixé pour objectif de rendre chaque emoji disponible à tous les utilisateurs d'Android dans toutes les applications, et il adopte une approche à deux volets pour y parvenir.

Solution 1 sur 2: polices système pouvant être mises à jour (Android 12 et supérieur)

À partir d’Android S (Android 12), Google a introduit des polices système pouvant être mises à jour, et la première police qu’ils mettront à jour est la police emoji.

Nous avons parlé Polices système pouvant être mises à jour dans le passé, il y a presque un an en fait. Sous Android 11 et versions antérieures, toutes les polices sur Android sont stockées dans la partition système, et plus précisément sous le /system/fonts annuaire. Les émojis, notamment, sont présents au sein du fichier appelé NotoColorEmoji.ttf. La partition système est en lecture seule et la mise à jour de tout fichier dans la partition nécessite une mise à jour du système alors que la partition n'est pas montée. Ainsi, le seul moyen d'obtenir de nouvelles polices et de nouveaux emojis est d'attendre une mise à jour officielle de l'OTA ou installez-le vous-même officieusement via root.

Avec Android 12 et les polices système pouvant être mises à jour, le les fichiers de polices sont stockés à /data/fonts/files, et disponible en lecture pour toutes les applications, mais n'est accessible en écriture que par le serveur_système et initialisation. De cette façon, Google peut publier des fichiers de polices mis à jour et les applications peuvent les lire pour obtenir les informations les plus récentes, quelle que soit la date de la dernière mise à jour du système Android sur le téléphone. En tant que développeur d'applications et même en tant qu'utilisateur, vous n'aurez plus jamais à penser à la prise en charge des emoji sur un appareil Android 12+.

Solution 2 sur 2: EmojiCompat avec AppCompat 1.4 (Android 4.4 à Android 11)

Android 12 vient d'être lancé il y a quelques semaines dans la branche stable, et il faudra un certain temps avant de voir une prolifération dans l'écosystème Android. Vous avez donc besoin d’une solution qui fonctionne sur Android 11 et versions antérieures. Cette solution est la Bibliothèque de support EmojiCompat.

AppCompat 1.4 intègre EmojiCompat, ce qui signifie que toutes les applications utilisant AppCompat 1.4 prendront automatiquement en charge les emojis modernes. En tant que développeur d'applications, il vous suffit d'intégrer/de passer votre version AppCompat à 1.4 et vous afficherez des emojis mis à jour aux utilisateurs même sur Android 4.4, sans avoir besoin d'efforts supplémentaires de la part de qui que ce soit.

Il y a cependant un petit hic. Le problème est qu'il s'agit d'un changement orienté vers le noyau GMS qui nécessite le fonctionnement des services Google Play. Il ne s'agit pas d'un changement apporté à l'AOSP pour les anciennes versions d'Android, comme c'est le cas pour la première solution, et cela ne peut pas non plus être le cas en raison du fonctionnement du temps et de la physique.

Politique relative aux Emoji Android pour Android 12

En plus de ces points forts, Google a également ajouté une politique Android Emoji pour les applications fonctionnant sur Android 12 et supérieur. Ces applications doivent être conformes à la dernière version Unicode dans les 4 mois suivant leur disponibilité publique, et elles doivent le faire de l'une de ces trois manières :

  • Si AppCompat est déjà utilisé, assurez-vous que les emoji sont activés.
  • Utilisez une bibliothèque EmojiCompat existante sur toutes les surfaces de l'application. Cela devrait fonctionner avec des vues personnalisées qui utilisent directement StaticLayout.
  • Mettez à jour la gestion et la police/images des emoji en fonction de la dernière version d'Unicode.

Si j'ai bien compris, la dernière option consiste simplement à demander aux développeurs de regrouper les emojis dans leur application. Quoi qu’il en soit, les développeurs doivent s’assurer qu’ils satisfont à ces exigences avant février 2022.

Google propose des ressources permettant aux développeurs d'applications de résoudre leurs problèmes d'emoji, et nous vous recommandons de les consulter :

  • Android Developer Summit 2021: Afficher TOUS les emojis dans votre application (et pourquoi c'est important)
  • Documentation du développeur Android: prise en charge des émojis modernes
  • Règlement du programme pour développeurs: annonce du 27 octobre 2021 – Politique relative aux emojis Android

Android 12L et Unicode 14

Android 12L qui était lancé hier livré avec Prise en charge d'Unicode 14 (via 9to5Google). Unicode 14.0 inclut les nouveaux emoji suivants :

  • Visage fondant
  • Visage aux yeux ouverts et main sur la bouche
  • Visage avec un œil furtif
  • Visage saluant
  • Visage en pointillé
  • Visage avec bouche diagonale
  • Visage retenant ses larmes
  • Main vers la droite
  • Main vers la gauche
  • Main paume vers le bas
  • Main paume vers le haut
  • Main avec index et pouce croisés
  • Index pointant vers le spectateur
  • Mains de coeur
  • Lèvre mordante
  • Personne avec couronne
  • Homme enceinte
  • Personne enceinte
  • Troll
  • corail
  • Lotus
  • Nid vide
  • Nid avec des oeufs
  • Haricots
  • Verser du liquide
  • Pot
  • Toboggan de terrain de jeu
  • Roue
  • Bouée annulaire
  • Hamsa
  • Boule à facettes
  • Batterie faible
  • Béquille
  • Radiographie
  • Bulles
  • Carte d'identité
  • Signe égal lourd

De plus, la version inclut des variations et des tons chair de ces nouveaux emoji, portant le total à 112 nouveaux designs.

Pour faire court, les problèmes d'emoji sur Android devraient bientôt appartenir au passé.