Android are o problemă cu Emoji, iar Google adoptă o abordare în două direcții pentru a o rezolva cu Fonturi de sistem actualizabile și EmojiCompat.
Iubește-i ❤ sau urăște-i 🤬, emoji-urile au devenit o formă de exprimare de bază în aceste zile. Aceste mici bloburi adaugă emoție și intenție cuvintelor, iar conversația pe internet ar fi incompletă fără ele. Sunt o mare problemă chiar și pentru conversația interpersonală -- de ce să pierzi timpul să spui multe cuvinte când emoji-urile fac trucuri? Așa că nu este o surpriză că Google a aruncat o privire la Android și și-a dat seama că are o problemă cu emoji și cu Android 12, încearcă să o repare.
Android și problema lui emoji
Emoji-urile sunt o mare problemă. Utilizarea emoji-urilor este la cote maxime, iar utilizatorii unor aplicații trimit miliarde de emoji-uri în fiecare zi. Hrănirea și ținerea pasului cu aceste schimbări este Standard Unicodeși primește actualizări frecvente care adaugă emoji noi. Aceste noi emoji-uri se concentrează pe noi cazuri de utilizare, tendințe și chiar variații pentru a le face reprezentanți mai buni pentru diversitate și incluziune.
În ea Prezentare Android Dev Summit 2021, Google spune că 96% dintre utilizatorii de Android nu văd cele mai recente emoji-uri, în contrast puternic cu cei 16% dintre utilizatorii de iOS care nu pot vedea cele mai recente emoji-uri. Primele 100 de emoji-uri cuprind ~82% din totalul cotelor de emoji. Dar pentru 20% din aceste acțiuni, expeditorul trimite un emoji, dar destinatarul vede doar un „tofu” sau rupt. imagine indicată printr-o casetă cu un X în ea, ceea ce înseamnă că sistemul lor de telefon nu are emoji-ul relevant afişa.
Problemele nu se termină cu tofus. În anumite situații privind emoji-urile mai noi și versiunile mai vechi de Android, emoji-ul afișat ajunge să fie o reprezentare formulă, care solicită utilizatorilor să facă niște gimnastică mentală pentru a înțelege ce se întâmplă cu adevărat pe.
Înainte de Android 12, ori de câte ori Unicode primește noi emoji, trebuia să așteptăm o actualizare a sistemului de operare Android la ajungeți la telefoanele noastre pentru a oferi suport pentru emoji, înainte de a le putea face parte din internetul nostru jargonul. Și știm cu toții cât de proastă este de fapt situația actualizării Android. Da, s-a îmbunătățit. Dar, cu excepția cazului în care aveți o navă emblematică, sunt șanse să mai aveți nevoie de câteva luni înainte ca cea mai recentă actualizare să ajungă la dispozitivul dvs. într-o versiune stabilă. Există șanse mari ca mai multe emoji-uri noi să fi fost adăugate în acest interval de timp, ținându-vă departe de bucla în limbajul actual.
Este clar că există o problemă aici și trebuie să existe o soluție. Google și-a propus ca fiecare emoji să fie disponibil pentru toți utilizatorii Android în toate aplicațiile și adoptă o abordare în două direcții pentru a realiza acest lucru.
Soluția 1 din 2: Fonturi de sistem actualizabile (Android 12 și versiuni ulterioare)
Începând cu Android S (Android 12), Google a introdus fonturi de sistem actualizabile, iar primul font pe care îl vor actualiza este fontul emoji.
Am vorbit despre Fonturi de sistem actualizabile în trecut, acum aproape un an de fapt. În Android 11 și versiunile anterioare, toate fonturile de pe Android sunt stocate în partiția de sistem și, mai precis, sub /system/fonts director. Emoji-urile, în special, sunt prezente în fișierul numit NotoColorEmoji.ttf. Partiția de sistem este doar pentru citire, iar actualizarea oricărui fișier din partiție necesită o actualizare a sistemului în timp ce partiția nu este montată. Deci, singurele modalități de a obține fonturi noi și emoji-uri noi sunt să așteptați o actualizare oficială OTA sau instalați-l singur neoficial prin root.
Cu Android 12 și fonturi de sistem actualizabile, fișierele cu fonturi sunt stocate la /data/fonts/files, și disponibil pentru citire pentru toate aplicațiile, dar poate fi scris numai de către server_sistem și init. În acest fel, Google poate trimite fișiere cu fonturi actualizate, iar aplicațiile le pot citi pentru informațiile cele mai actualizate, indiferent de când a fost ultima actualizare a sistemului Android de pe telefon. Ca dezvoltator de aplicații și chiar și ca utilizator, nu trebuie să te gândești niciodată la suportul emoji pe un dispozitiv Android 12+.
Soluția 2 din 2: EmojiCompat cu AppCompat 1.4 (de la Android 4.4 la Android 11)
Android 12 tocmai a fost lansat acum câteva săptămâni în ramura stabilă și va trece ceva timp până când veți vedea proliferarea în ecosistemul Android. Deci, aveți nevoie de o soluție care să funcționeze pe Android 11 și mai jos. Acea soluție este Biblioteca de suport EmojiCompat.
AppCompat 1.4 încorporează EmojiCompat, ceea ce înseamnă că toate aplicațiile care folosesc AppCompat 1.4 vor accepta automat emoji-urile moderne. În calitate de dezvoltator de aplicații, trebuie doar să integrați/mercați versiunea AppCompat la 1.4 și veți afișa emoji-uri actualizate utilizatorilor chiar și pe Android 4.4, fără a mai fi nevoie de niciun efort suplimentar din partea nimănui.
Există totuși o mică captură. Problema este că aceasta este o schimbare orientată spre nucleul GMS, care necesită servicii Google Play pentru a funcționa. Aceasta nu este o modificare a AOSP pentru versiunile mai vechi de Android în felul în care este prima soluție și nu poate fi chiar așa, nici din cauza modului în care funcționează timpul și fizica.
Politica Android Emoji pentru Android 12
Pe lângă aceste aspecte, Google a adăugat și o politică Android Emoji pentru aplicațiile care rulează pe Android 12 și versiuni ulterioare. Aceste aplicații trebuie să respecte cea mai recentă versiune Unicode în termen de 4 luni de la disponibilitatea publică și trebuie să facă acest lucru în oricare dintre aceste trei moduri:
- Dacă AppCompat este deja în uz, asigurați-vă că emoji este activat.
- Utilizați o bibliotecă EmojiCompat existentă pe toate suprafețele din aplicație. Acest lucru ar trebui să funcționeze cu vizualizări personalizate care utilizează direct StaticLayout.
- Actualizați manipularea și fontul/imaginile pentru emoji pe baza celei mai recente versiuni de Unicode.
Dacă înțelegerea mea este corectă, ultima opțiune este doar să le cer dezvoltatorilor să includă emoji-uri în aplicația lor. În orice caz, dezvoltatorii trebuie să se asigure că îndeplinesc aceste cerințe înainte de februarie 2022.
Google are resurse pentru dezvoltatorii de aplicații pentru a-și rezolva problemele cu emoji și vă recomandăm să le verificați:
- Android Developer Summit 2021: afișarea TOATE emoji-urile din aplicația dvs. (și de ce contează)
- Documentație pentru dezvoltatori Android: acceptă emojii moderne
- Politica de program pentru dezvoltatori: anunț din 27 octombrie 2021 -- Politica Android Emoji
Android 12L și Unicode 14
Android 12L asta era lansat ieri vine cu Suport Unicode 14 (prin intermediul 9to5Google). Unicode 14.0 include următoarele emoji noi:
- Fața care se topește
- Față cu ochii deschiși și mâna peste gură
- Față cu ochi care se uită
- Față de salut
- Față cu linie punctată
- Față cu gura diagonală
- Fața care ține lacrimile
- Mâna spre dreapta
- Mâna Stânga
- Palma în jos Mâna
- Palma Sus Mâna
- Mână cu degetul arătător și degetul mare încrucișat
- Index îndreptat spre vizualizator
- Mâinile inimii
- Buză Muşcatoare
- Persoană cu Coroană
- Bărbat însărcinat
- Persoana Insarcinata
- Revenire
- Coral
- Lotus
- Cuib gol
- Cuib cu ouă
- Fasole
- Lichid de turnare
- Borcan
- Loc de joacă Tobogan
- roată
- Geamandură inelă
- Hamsa
- Mingea cu oglinzi
- Baterie descarcata
- Cârjă
- Raze X
- Bule
- Card de identificare
- Semnul Greu Egal
În plus, lansarea include variații și tonuri de piele ale acestor noi emoji, aducând totalul la 112 modele noi.
Pe scurt, problemele emoji-urilor Android ar trebui să devină în curând un lucru din trecut.