Android ma problem z emoji i Google stosuje dwutorowe podejście, aby go rozwiązać za pomocą aktualizowalnych czcionek systemowych i EmojiCompat.
Kochaj je ❤ lub nienawidź 🤬, emoji stały się obecnie podstawową formą ekspresji. Te małe kropelki dodają emocji i intencji słowom, a rozmowa w Internecie byłaby bez nich niekompletna. Są ważne nawet w rozmowach międzyludzkich – po co marnować czas na mówienie wielu słów, gdy emoji działają na wyobraźnię? Nic więc dziwnego, że Google przyjrzał się Androidowi i stwierdził, że ma on problem z emoji Androida 12, próbuje to naprawić.
Android i jego problem z emoji
Emoji to wielka sprawa. Użycie emoji jest najwyższe w historii, a użytkownicy niektórych aplikacji codziennie wysyłają miliardy emoji. Karmienie i nadążanie za tymi zmianami to Standard Unicodei otrzymuje częste aktualizacje, które dodają nowe emoji. Te nowe emoji skupiają się wokół nowych przypadków użycia, trendów, a nawet odmian, dzięki czemu stają się lepszymi przedstawicielami różnorodności i włączenia.
W swoim Prezentacja Android Dev Summit 2021Google twierdzi, że 96% użytkowników Androida nie widzi najnowszych emoji, co stanowi wyraźny kontrast w porównaniu z 16% użytkowników iOS, którzy nie widzą najnowszych emoji. 100 najpopularniejszych emoji stanowi około 82% wszystkich udostępnień emoji. Ale w przypadku 20% tych udostępnień nadawca wysyła emoji, ale odbiorca widzi tylko „tofu” lub uszkodzone obraz oznaczony ramką z X, co oznacza, że ich system telefoniczny nie obsługuje odpowiedniego emoji wyświetlacz.
Problemy nie kończą się na tofusie. W niektórych sytuacjach dotyczących nowszych emoji i starszych wersji Androida wyświetlane emoji stają się wyświetlane schematyczna reprezentacja wymagająca od użytkowników wykonania gimnastyki umysłowej, aby zrozumieć, co się naprawdę dzieje NA.
Przed Androidem 12, ilekroć Unicode otrzymywał nowe emoji, musieliśmy czekać na aktualizację systemu operacyjnego Android do dotrzeć do naszych telefonów, aby zapewnić obsługę emoji, zanim będziemy mogli faktycznie uczynić je częścią naszego Internetu żargon. Wszyscy wiemy, jak zła jest sytuacja z aktualizacjami Androida. Tak, poprawiło się. Ale jeśli nie masz modelu flagowego, prawdopodobnie minie kilka miesięcy, zanim najnowsza aktualizacja dotrze do Twojego urządzenia w stabilnej wersji. Istnieje duża szansa, że w tym czasie dodano więcej nowych emoji, dzięki czemu nie będziesz na bieżąco z bieżącym żargonem.
Jasne jest, że tu jest problem i trzeba znaleźć rozwiązanie. Firma Google postawiła sobie za cel udostępnienie wszystkich emoji wszystkim użytkownikom Androida we wszystkich aplikacjach i aby to osiągnąć, stosuje dwutorowe podejście.
Rozwiązanie 1 z 2: Aktualizowalne czcionki systemowe (Android 12 i nowsze)
Począwszy od Androida S (Android 12), Google wprowadziło aktualizowalne czcionki systemowe, a pierwszą czcionką, którą zaktualizują, będzie czcionka emoji.
Rozmawialiśmy o Aktualizowane czcionki systemowe w przeszłości, właściwie prawie rok temu. W Androidzie 11 i starszych wszystkie czcionki na Androidzie są przechowywane na partycji systemowej, a dokładniej pod plikiem /system/fonts informator. W szczególności emoji znajdują się w pliku o nazwie NotoColorEmoji.ttf. Partycja systemowa jest tylko do odczytu i aktualizacja dowolnego pliku na tej partycji wymaga aktualizacji systemu, gdy partycja nie jest zamontowana. Zatem jedynym sposobem na zdobycie nowych czcionek i nowych emoji jest poczekanie na oficjalną aktualizację OTA lub zainstaluj go samodzielnie nieoficjalnie przez root.
Dzięki systemowi Android 12 i aktualizowalnym czcionkom systemowym plik przechowywane są pliki czcionek Na /data/fonts/filesi jest dostępny do odczytu dla wszystkich aplikacji, ale można go zapisywać tylko przez serwer_systemowy I w tym. W ten sposób Google może udostępniać zaktualizowane pliki czcionek, a aplikacje mogą je odczytywać, aby uzyskać najbardziej aktualne informacje, niezależnie od tego, kiedy w telefonie była ostatnia aktualizacja systemu Android. Jako twórca aplikacji, a nawet użytkownik, już nigdy nie będziesz musiał myśleć o obsłudze emoji na urządzeniu z Androidem 12 lub nowszym.
Rozwiązanie 2 z 2: EmojiCompat z AppCompat 1.4 (od Androida 4.4 do Androida 11)
Android 12 został wypuszczony kilka tygodni temu w stabilnej gałęzi i minie trochę czasu, zanim zacznie się rozprzestrzeniać w ekosystemie Androida. Potrzebujesz więc rozwiązania, które działa na Androidzie 11 i starszych. Tym rozwiązaniem jest Biblioteka wsparcia EmojiCompat.
AplikacjaCompat 1.4 zawiera EmojiCompat, co oznacza, że wszystkie aplikacje korzystające z AppCompat 1.4 będą automatycznie obsługiwać nowoczesne emoji. Jako twórca aplikacji wystarczy, że zintegrujesz/przeskoczysz wersję AppCompat do 1.4, a będziesz wyświetlać zaktualizowane emoji użytkownikom nawet na Androidzie 4.4, bez konieczności wykonywania przez kogokolwiek dodatkowego wysiłku.
Jest jednak mały haczyk. Problem w tym, że jest to zmiana zorientowana na rdzeń GMS, która wymaga działania Usług Google Play. Nie jest to zmiana w AOSP dla starszych wersji Androida w taki sposób, w jaki jest to pierwsze rozwiązanie, i tak naprawdę nie może tak być ze względu na sposób działania czasu i fizyki.
Zasady dotyczące emotikonów w Androidzie dla Androida 12
Oprócz tych najważniejszych informacji firma Google dodała także zasady dotyczące emotikonów Androida dla aplikacji działających na Androidzie 12 i nowszych. Aplikacje te muszą być zgodne z najnowszą wersją Unicode w ciągu 4 miesięcy od ich publicznego udostępnienia i muszą to zrobić na jeden z trzech sposobów:
- Jeśli aplikacja AppCompat jest już używana, upewnij się, że emoji jest włączone.
- Użyj istniejącej biblioteki EmojiCompat na wszystkich platformach w aplikacji. Powinno to działać z niestandardowymi widokami, które bezpośrednio korzystają ze StaticLayout.
- Zaktualizuj obsługę i czcionki/obrazy emoji w oparciu o najnowszą wersję Unicode.
Jeśli dobrze rozumiem, ostatnią opcją jest po prostu poproszenie programistów o dodanie emoji do swojej aplikacji. Tak czy inaczej, programiści muszą upewnić się, że spełnią te wymagania przed lutym 2022 r.
Google udostępnia zasoby dla twórców aplikacji, dzięki którym mogą rozwiązać problemy z emoji. Zalecamy zapoznanie się z nimi:
- Konferencja Android Developer Summit 2021: wyświetlanie WSZYSTKICH emotikonów w aplikacji (i dlaczego jest to ważne)
- Dokumentacja dla programistów Androida: obsługa nowoczesnych emotikonów
- Zasady programu dla programistów: ogłoszenie z 27 października 2021 r. — Zasady dotyczące emotikonów na Androidzie
Androida 12L i Unicode 14
To był Android 12L wystartował wczoraj przychodzi z Obsługa Unicode 14 (przez 9to5Google). Unicode 14.0 zawiera następujące nowe emoji:
- Topniejąca twarz
- Twarz z otwartymi oczami i ręką na ustach
- Twarz z zerkającym okiem
- Salutująca Twarz
- Linia kropkowana twarz
- Twarz z ukośnymi ustami
- Twarz powstrzymująca łzy
- Prawa ręka
- Lewa ręka
- Dłoń w dół
- Dłoń w górę
- Ręka z palcem wskazującym i skrzyżowanym kciukiem
- Indeks wskazujący na widza
- Ręce Serca
- Przygryzanie wargi
- Osoba z koroną
- Mężczyzna w ciąży
- Osoba w ciąży
- Troll
- Koral
- Lotos
- Puste gniazdo
- Gniazdo z jajkami
- fasolki
- Wlewanie płynu
- Słoik
- Zjeżdżalnia na placu zabaw
- Koło
- Boja pierścieniowa
- Hamsa
- Lustrzana piłka
- Niski poziom baterii
- Krocze
- Rentgen
- Bąbelki
- Karta identyfikacyjna
- Ciężki znak równości
Ponadto wydanie zawiera odmiany i odcienie skóry tych nowych emoji, co daje w sumie 112 nowych projektów.
Krótko mówiąc, problemy z emoji w Androidzie powinny wkrótce stać się przeszłością.