Android ima problem s Emoji simbolima, a Google koristi dvostruki pristup za njegovo rješavanje s ažuriranim sistemskim fontovima i EmojiCompatom.
Volite ih ❤ ili ih mrzite 🤬, emojiji su ovih dana postali glavni oblik izražavanja. Ove male male mrljice riječima dodaju emocije i namjeru, a razgovor na internetu bez njih bi bio nepotpun. Oni su velika stvar čak i za međuljudske razgovore -- zašto gubiti vrijeme i reći mnogo riječi kada emotikoni varaju? Stoga ne čudi što je Google bacio pogled na Android i zaključio da ima problema s emotikonima i sa Android 12, pokušava to popraviti.
Android i njegov problem s emotikonima
Emojiji su velika stvar. Upotreba emojija na vrhuncu je svih vremena, a korisnici nekih aplikacija šalju milijarde emojija svaki dan. Hranjenje i držanje koraka s tim promjenama je ključno Unicode standard, i prima česta ažuriranja koja dodaju nove emojije. Ovi novi emojiji usredotočeni su na nove slučajeve upotrebe, trendove, pa čak i varijacije kako bi bili bolji predstavnici za raznolikost i uključenost.
U svom Prezentacija Android Dev Summita 2021, Google kaže da 96% korisnika Androida ne vidi najnovije emojije, u oštrom kontrastu sa 16% korisnika iOS-a koji ne mogu vidjeti najnovije emojije. Top 100 emojija čini ~82% ukupnih dijeljenja emojija. Ali za 20% ovih dijeljenja, pošiljatelj šalje emoji, ali primatelj vidi samo "tofu" ili slomljeni slika označena okvirom s X u njemu, što znači da njihov telefonski sustav nema relevantne emotikone za prikaz.
Problemi ne završavaju s tofusima. U određenim situacijama u vezi s novijim emojijima i starijim verzijama Androida, prikazani emotikon na kraju bude formulacijski prikaz, koji od korisnika zahtijeva mentalnu gimnastiku kako bi razumjeli što se stvarno događa na.
Prije Androida 12, kad god Unicode dobije nove emojije, morali smo čekati nadogradnju OS-a Android na doći do naših telefona kako bismo pružili podršku za emotikone, prije nego što ih zapravo učinimo dijelom našeg interneta jezik. A svi znamo koliko je zapravo loša situacija s ažuriranjem Androida. Da, poboljšalo se. Ali osim ako nemate vodeći model, velike su šanse da će vam trebati još nekoliko mjeseci prije nego što najnovije ažuriranje stigne na vaš uređaj u stabilnom izdanju. Postoji velika vjerojatnost da je u ovom vremenskom odmaku dodano još novih emojija, što vas drži izvan petlje s trenutnim žargonom.
Jasno je da tu postoji problem i da mora postojati rješenje. Google si je postavio cilj učiniti svaki emotikon dostupnim svim korisnicima Androida u svim aplikacijama, a kako bi to postigao, koristi se dvosmjernim pristupom.
Rješenje 1 od 2: sistemski fontovi koji se mogu ažurirati (Android 12 i noviji)
Počevši s Androidom S (Android 12), Google je uveo sistemske fontove koji se mogu ažurirati, a prvi font koji će ažurirati je emoji font.
Razgovarali smo o Sistemski fontovi koji se mogu ažurirati u prošlosti, zapravo prije skoro godinu dana. U Androidu 11 i starijim verzijama, svi fontovi na Androidu pohranjuju se u sistemsku particiju, točnije, pod /system/fonts imenik. Emojiji su posebno prisutni u datoteci pod nazivom NotoColorEmoji.ttf. Particija sustava je samo za čitanje, a ažuriranje bilo koje datoteke unutar particije zahtijeva ažuriranje sustava dok particija nije montirana. Dakle, jedini način da dobijete nove fontove i nove emojije je čekanje službenog OTA ažuriranja ili instalirajte ga sami neslužbeno preko roota.
S Androidom 12 i sistemskim fontovima koji se mogu ažurirati, datoteke fontova su pohranjene na /data/fonts/files, i dostupan za čitanje za sve aplikacije, ali može ga pisati samo sustav_poslužitelj i u tome. Na ovaj način Google može izbaciti ažurirane datoteke fontova, a aplikacije ih mogu čitati za najažurnije informacije bez obzira na to kada je bilo zadnje ažuriranje Android sustava na telefonu. Kao programer aplikacija, pa čak i kao korisnik, više nikada ne morate razmišljati o podršci za emotikone na Android 12+ uređaju.
Rješenje 2 od 2: EmojiCompat s AppCompatom 1.4 (Android 4.4. do Android 11)
Android 12 je upravo lansiran prije nekoliko tjedana u stabilnoj grani i proći će neko vrijeme prije nego što vidite širenje u Android ekosustavu. Dakle, trebate rješenje koje radi na Androidu 11 i starijim. To rješenje je EmojiCompat knjižnica podrške.
AppCompat 1.4 uključuje EmojiCompat, što znači da će sve aplikacije koje koriste AppCompat 1.4 automatski podržavati moderne emojije. Kao programer aplikacije, samo trebate integrirati/pojačati svoju verziju AppCompata na 1.4 i prikazivat ćete ažurirane emojije korisnicima čak i na Androidu 4.4, bez ikakvih dodatnih napora s bilo čije strane.
Ipak postoji mala kvaka. Kvaka je u tome što je ovo promjena orijentirana na GMS jezgru koja zahtijeva usluge Google Play da bi funkcionirale. Ovo nije promjena AOSP-a za starije verzije Androida na način na koji je to prvo rješenje, a to zapravo ne može biti ni zbog načina na koji vrijeme i fizika rade.
Pravila Android Emoji za Android 12
Uz ove naglaske, Google je također dodao Android Emoji Policy za aplikacije koje rade na Androidu 12 i novijim verzijama. Te se aplikacije moraju uskladiti s najnovijom verzijom Unicodea unutar 4 mjeseca od javne dostupnosti, i to moraju učiniti na jedan od ova tri načina:
- Ako se AppCompat već koristi, provjerite jesu li emoji omogućeni.
- Koristite postojeću biblioteku EmojiCompat na svim površinama unutar aplikacije. Ovo bi trebalo funkcionirati s prilagođenim pogledima koji izravno koriste StaticLayout.
- Ažurirajte rukovanje i font/slike za emoji na temelju najnovije verzije Unicodea.
Ako sam dobro shvatio, posljednja opcija je samo tražiti od programera da grupiraju emojije unutar svoje aplikacije. U svakom slučaju, programeri moraju osigurati ispunjavanje ovih zahtjeva prije veljače 2022.
Google ima resurse za razvojne programere aplikacija za rješavanje problema s emotikonima i preporučujemo da ih provjerite:
- Android Developer Summit 2021: Prikaz SVIH emojija u vašoj aplikaciji (i zašto je to važno)
- Dokumentacija za razvojne programere za Android: Podrška za moderne Emojije
- Programska pravila za razvojne programere: najava od 27. listopada 2021. -- Pravila o emojijima za Android
Android 12L i Unicode 14
To je bio Android 12L pokrenut jučer dolazi sa Podrška za Unicode 14 (preko 9to5Google). Unicode 14.0 uključuje sljedeće nove emojije:
- Lice koje se topi
- Lice s otvorenim očima i rukom preko usta
- Lice s okom koje viri
- Pozdrav Licu
- Isprekidano lice
- Lice s dijagonalnim ustima
- Lice koje zadržava suze
- Desna ruka
- Lijeva ruka
- dlan prema dolje
- dlan gore ruka
- Ruka s prekriženim kažiprstom i palcem
- Kazalo pokazuje na gledatelja
- Ruke srca
- Grickanje usana
- Osoba s krunom
- Trudni muškarac
- Trudna osoba
- Trol
- Koraljni
- Lotos
- Prazno gnijezdo
- Gnijezdo s jajima
- Grah
- Izlijevanje tekućine
- Staklenka
- Tobogan za igralište
- Kotač
- Prstenasta plutača
- Hamsa
- Zrcalna kugla
- Slaba baterija
- Štaka
- X-zraka
- Mjehurići
- Osobna iskaznica
- Debeli znak jednakosti
Osim toga, izdanje uključuje varijacije i tonove kože ovih novih emojija, čime je ukupno 112 novih dizajna.
Ukratko, Androidovi problemi s emotikonima uskoro bi trebali biti stvar prošlosti.