Google vuole davvero risolvere il problema delle emoji di Android

Android ha un problema con gli Emoji e Google sta adottando un duplice approccio per risolverlo con i caratteri di sistema aggiornabili e EmojiCompat.

Li adori ❤ o li odi 🤬, gli emoji sono diventati una forma di espressione fondamentale al giorno d'oggi. Queste piccole macchie aggiungono emozione e intenzione alle parole e la conversazione su Internet sarebbe incompleta senza di esse. Sono un grosso problema anche per le conversazioni interpersonali: perché perdere tempo a dire tante parole quando le emoji fanno scherzi? Quindi non sorprende che Google abbia dato un'occhiata ad Android e abbia pensato che avesse un problema con le emoji, e con Androide 12, cerca di risolverlo.

Android e il suo problema con le emoji

Gli emoji sono un grosso problema. L’utilizzo delle emoji è ai massimi storici e gli utenti di alcune app inviano miliardi di emoji ogni giorno. Alimentarsi e stare al passo con questi cambiamenti è il Norma Unicodee riceve aggiornamenti frequenti che aggiungono nuovi emoji. Questi nuovi emoji sono incentrati su nuovi casi d’uso, tendenze e persino variazioni per renderli rappresentanti migliori della diversità e dell’inclusione.

Nel suo Presentazione dell'Android Dev Summit 2021, Google afferma che il 96% degli utenti Android non vede gli emoji più recenti, in netto contrasto con il 16% degli utenti iOS che non riescono a vedere gli emoji più recenti. I primi 100 emoji rappresentano circa l’82% delle quote totali di emoji. Ma per il 20% di queste azioni, il mittente invia un emoji ma il destinatario vede solo un "tofu" o il pezzo rotto immagine indicata da una casella con una X al suo interno, il che significa che il loro sistema telefonico non dispone dell'emoji pertinente Schermo.

I problemi non finiscono con il tofu. In alcune situazioni relative agli emoji più recenti e alle versioni Android precedenti, l'emoji visualizzato finisce per essere una rappresentazione stereotipata, che richiede agli utenti di fare una certa ginnastica mentale per capire cosa sta realmente accadendo SU.

Prima di Android 12, ogni volta che Unicode riceveva nuovi emoji, dovevamo attendere un aggiornamento del sistema operativo Android raggiungere i nostri telefoni per supportare le emoji, prima che possiamo effettivamente renderle parte di Internet gergo. E sappiamo tutti quanto sia grave la situazione degli aggiornamenti di Android. Sì, è migliorato. Ma a meno che tu non abbia un'ammiraglia, è probabile che ci vorranno ancora parecchi mesi prima che l'ultimo aggiornamento raggiunga il tuo dispositivo in una versione stabile. Ci sono buone probabilità che siano stati aggiunti più nuovi emoji in questo intervallo di tempo, tenendoti fuori dal giro del gergo attuale.

È chiaro che qui c'è un problema e deve esserci una soluzione. Google si è posta l'obiettivo di rendere ogni emoji disponibile a tutti gli utenti Android in tutte le app e sta adottando un duplice approccio per raggiungere questo obiettivo.

Soluzione 1 di 2: caratteri di sistema aggiornabili (Android 12 e versioni successive)

A partire da Android S (Android 12), Google ha introdotto caratteri di sistema aggiornabili e il primo carattere che aggiornerà sarà il carattere emoji.

Ne abbiamo parlato Caratteri di sistema aggiornabili in passato, quasi un anno fa in realtà. In Android 11 e versioni precedenti, tutti i caratteri su Android sono archiviati nella partizione di sistema e, più specificamente, in /system/fonts directory. Gli emoji, in particolare, sono presenti all'interno del file denominato NotoColorEmoji.ttf. La partizione di sistema è di sola lettura e l'aggiornamento di qualsiasi file all'interno della partizione richiede un aggiornamento del sistema mentre la partizione non è montata. Quindi l'unico modo per ottenere nuovi caratteri e nuovi emoji è attendere un aggiornamento OTA ufficiale o installalo tu stesso in modo non ufficiale tramite root.

Con Android 12 e i caratteri di sistema aggiornabili, il vengono memorizzati i file dei caratteri A /data/fonts/files, e disponibile per la lettura per tutte le app, ma è scrivibile solo da server_sistema E dentro. In questo modo, Google può inviare file di caratteri aggiornati e le app possono leggerli per ottenere le informazioni più aggiornate indipendentemente da quando è stato l'ultimo aggiornamento del sistema Android sul telefono. Come sviluppatore di app e anche come utente, non dovrai mai più pensare al supporto delle emoji su un dispositivo Android 12+.

Soluzione 2 di 2: EmojiCompat con AppCompat 1.4 (da Android 4.4. ad Android 11)

Android 12 è stato lanciato solo poche settimane fa nel ramo stabile e ci vorrà un po' di tempo prima che si veda una proliferazione nell'ecosistema Android. Quindi hai bisogno di una soluzione che funzioni su Android 11 e versioni precedenti. Quella soluzione è la Libreria di supporto EmojiCompat.

Compatibilità app 1.4 incorpora EmojiCompat, il che significa che tutte le app che utilizzano AppCompat 1.4 supporteranno automaticamente gli emoji moderni. Come sviluppatore di app, devi solo integrare/portare la versione di AppCompat alla 1.4 e mostrerai emoji aggiornati agli utenti anche su Android 4.4, senza bisogno di ulteriori sforzi da parte di nessuno.

C'è però un piccolo problema. Il problema è che si tratta di un cambiamento orientato al core GMS che richiede il funzionamento di Google Play Services. Questa non è una modifica ad AOSP per le versioni Android precedenti come lo è la prima soluzione, e non può essere nemmeno questo a causa del modo in cui funzionano il tempo e la fisica.

Norme sugli emoji Android per Android 12

Oltre a questi punti salienti, Google ha anche aggiunto una policy sugli Emoji Android per le app in esecuzione su Android 12 e versioni successive. Queste app devono essere conformi all'ultima versione Unicode entro 4 mesi dalla disponibilità pubblica e devono farlo in uno di questi tre modi:

  • Se AppCompat è già in uso, assicurati che le emoji siano abilitate.
  • Utilizza una libreria EmojiCompat esistente su tutte le superfici dell'app. Dovrebbe funzionare con visualizzazioni personalizzate che utilizzano direttamente StaticLayout.
  • Aggiorna la gestione e i caratteri/immagini per le emoji in base all'ultima versione di Unicode.

Se ho capito bene, l'ultima opzione è semplicemente chiedere agli sviluppatori di raggruppare gli emoji all'interno della loro app. In ogni caso, gli sviluppatori devono assicurarsi di soddisfare questi requisiti prima di febbraio 2022.

Google dispone di risorse per consentire agli sviluppatori di app di risolvere i problemi relativi alle emoji e ti consigliamo di verificarle:

  • Android Developer Summit 2021: visualizzare TUTTI gli emoji nella tua app (e perché sono importanti)
  • Documentazione per sviluppatori Android: supporto degli emoji moderni
  • Norme del programma per gli sviluppatori: annuncio del 27 ottobre 2021: norme sulle emoji Android

Android 12L e Unicode 14

Android 12L era lanciato ieri Viene con Supporto Unicode 14 (attraverso 9to5Google). Unicode 14.0 include le seguenti nuove emoji:

  • Volto che si scioglie
  • Faccia con gli occhi aperti e la mano sulla bocca
  • Faccia con l'occhio che sbircia
  • Volto salutante
  • Faccia con linea tratteggiata
  • Faccia con bocca diagonale
  • Volto che trattiene le lacrime
  • Mano verso destra
  • Mano verso sinistra
  • Mano con il palmo rivolto verso il basso
  • Mano con il palmo rivolto verso l'alto
  • Mano con il dito indice e il pollice incrociati
  • Indice che punta allo spettatore
  • Mani del cuore
  • Mordere il labbro
  • Persona con corona
  • Uomo incinta
  • Persona incinta
  • Troll
  • Corallo
  • Loto
  • Nido vuoto
  • Nido con uova
  • Fagioli
  • Liquido di versamento
  • Vaso
  • Scivolo del parco giochi
  • Ruota
  • Boa ad anello
  • Hamsa
  • Sfera a specchi
  • Batteria scarica
  • Stampella
  • Raggi X
  • Bolle
  • Carta d'identità
  • Segno di uguale pesante

Inoltre, la versione include variazioni e tonalità della pelle di queste nuove emoji, portando il totale a 112 nuovi design.

Per farla breve, i problemi con le emoji di Android dovrebbero presto diventare un ricordo del passato.