Google наистина иска да реши проблема с емотикони на Android

Android има проблем с Emoji и Google предприема двупосочен подход, за да го разреши с актуализиращи се системни шрифтове и EmojiCompat.

Обичайте ги ❤ или ги мразете 🤬, емотиконите са се превърнали в основна форма на изразяване в наши дни. Тези малки малки петна добавят емоция и намерение към думите и разговорът в интернет би бил непълен без тях. Те са голяма работа дори за междуличностни разговори - защо да губите време да казвате много думи, когато емоджитата правят трик? Така че не е изненадващо, че Google погледна Android и установи, че има проблем с емотикони и с Android 12, опитва се да го поправи.

Android и неговият проблем с емотикони

Емоджитата са голяма работа. Използването на емотикони е най-високо за всички времена и потребителите на някои приложения изпращат милиарди емотикони всеки ден. Храненето и поддържането на тези промени е Unicode стандарти получава чести актуализации, които добавят нови емотикони. Тези нови емотикони се съсредоточават около нови случаи на употреба, тенденции и дори вариации, за да ги направят по-добри представители за разнообразие и приобщаване.

В своята Презентация на Android Dev Summit 2021, Google казва, че 96% от потребителите на Android не виждат най-новите емотикони, в рязък контраст с 16% от потребителите на iOS, които не могат да видят най-новите емотикони. Топ 100 на емотикони съставляват ~82% от общите споделяния на емотикони. Но за 20% от тези споделяния подателят изпраща емоджи, но получателят вижда само „тофу“ или счупеното изображение, обозначено с поле с X в него, което означава, че тяхната телефонна система няма съответните емотикони дисплей.

Проблемите не свършват с тофуса. В определени ситуации, свързани с по-нови емотикони и по-стари версии на Android, показаните емотикони в крайна сметка са формулично представяне, изискващо от потребителите да направят известна умствена гимнастика, за да разберат какво наистина се случва На.

Преди Android 12, всеки път, когато Unicode получи нови емотикони, трябваше да изчакаме надстройка на Android OS до достигне до нашите телефони, за да осигури поддръжка за емотикони, преди да можем действително да ги направим част от нашия интернет жаргон. И всички знаем колко лоша всъщност е ситуацията с актуализацията на Android. Да, подобри се. Но освен ако нямате флагман, шансовете са, че все още ви трябват доста няколко месеца, преди последната актуализация да достигне вашето устройство в стабилна версия. Има голям шанс да бъдат добавени повече нови емотикони през това забавяне във времето, което ви държи извън цикъла на текущия жаргон.

Ясно е, че тук има проблем и трябва да има решение. Google си постави за цел да направи всяко емоджи достъпно за всички потребители на Android във всички приложения и предприема двупосочен подход, за да постигне това.

Решение 1 от 2: Системни шрифтове с възможност за актуализиране (Android 12 и по-нова версия)

Започвайки с Android S (Android 12), Google въведе системни шрифтове, които могат да се актуализират, и първият шрифт, който ще актуализират, е шрифтът на емотикони.

Говорили сме за Актуализирани системни шрифтове в миналото, всъщност преди почти година. В Android 11 и по-стари версии всички шрифтове на Android се съхраняват в системния дял и по-точно под /system/fonts указател. Emojis, по-специално, присъстват в извикания файл NotoColorEmoji.ttf. Системният дял е само за четене и актуализирането на всеки файл в дяла изисква системна актуализация, докато дялът не е монтиран. Така че единствените начини да получите нови шрифтове и нови емотикони са да изчакате официална OTA актуализация или инсталирайте го сами неофициално чрез root.

С Android 12 и актуализиращи се системни шрифтове, файловете с шрифтове се съхраняват при /data/fonts/filesи достъпен за четене за всички приложения, но може да се записва само от системен_сървър и в него. По този начин Google може да изведе актуализирани файлове с шрифтове и приложенията могат да ги прочетат за най-актуална информация, независимо кога е била последната актуализация на системата Android на телефона. Като разработчик на приложения и дори като потребител, никога повече не трябва да мислите за поддръжка на емотикони на устройство с Android 12+.

Решение 2 от 2: EmojiCompat с AppCompat 1.4 (Android 4.4. до Android 11)

Android 12 беше пуснат преди няколко седмици в стабилния клон и ще мине известно време, преди да видите разпространение в екосистемата на Android. Така че имате нужда от решение, което работи на Android 11 и по-стари версии. Това решение е Библиотека за поддръжка на EmojiCompat.

AppCompat 1.4 включва EmojiCompat, което означава, че всички приложения, използващи AppCompat 1.4, автоматично ще поддържат модерни емотикони. Като разработчик на приложение, вие просто трябва да интегрирате/повишите вашата версия на AppCompat до 1.4 и ще показвате актуализирани емотикони на потребителите дори на Android 4.4, без да са необходими допълнителни усилия от страна на никого.

Все пак има една малка уловка. Уловката е, че това е промяна, ориентирана към ядрото на GMS, която изисква услугите на Google Play, за да функционират. Това не е промяна в AOSP за по-стари версии на Android по начина, по който е първото решение, и не може да бъде и това поради начина, по който работят времето и физиката.

Правила за Android Emoji за Android 12

В допълнение към тези акценти, Google също добави Android Emoji Policy за приложения, работещи на Android 12 и по-нови версии. Тези приложения трябва да отговарят на най-новата версия на Unicode в рамките на 4 месеца от публичната им достъпност и трябва да го направят по един от следните три начина:

  • Ако AppCompat вече се използва, уверете се, че емотикони са активирани.
  • Използвайте съществуваща библиотека EmojiCompat във всички повърхности в приложението. Това трябва да работи с персонализирани изгледи, които директно използват StaticLayout.
  • Актуализирайте обработката и шрифта/изображенията за емотикони въз основа на най-новата версия на Unicode.

Ако разбирам правилно, последната опция е просто да поиска от разработчиците да обединят емотикони в своето приложение. Така или иначе разработчиците трябва да гарантират, че отговарят на тези изисквания преди февруари 2022 г.

Google разполага с ресурси за разработчиците на приложения, за да коригират своите проблеми с емотикони и ви препоръчваме да ги разгледате:

  • Среща на върха на разработчиците на Android 2021: Показване на ВСИЧКИ емотикони във вашето приложение (и защо има значение)
  • Документация за разработчици на Android: Поддръжка на модерни емотикони
  • Програмни правила за разработчици: Съобщение от 27 октомври 2021 г. – Правила за Android Emoji

Android 12L и Unicode 14

Това беше Android 12L стартира вчера идва с Поддръжка на Unicode 14 (чрез 9to5Google). Unicode 14.0 включва следните нови емотикони:

  • Разтапящо се лице
  • Лице с отворени очи и ръка над устата
  • Лице с надничащо око
  • Поздравяване на лицето
  • Лице с пунктирана линия
  • Лице с диагонална уста
  • Лице, сдържащо сълзите
  • Дясна ръка
  • Лява ръка
  • Ръка с длан надолу
  • Ръка с длан нагоре
  • Ръка с кръстосани показалец и палец
  • Индекс, сочещ към зрителя
  • Сърдечни ръце
  • Хапаща устна
  • Човек с корона
  • Бременен мъж
  • Бременно лице
  • трол
  • Корал
  • Лотос
  • Празно гнездо
  • Гнездо с яйца
  • Боб
  • Изливане на течност
  • Буркан
  • Пързалка за детска площадка
  • Колело
  • Пръстен Буй
  • Хамса
  • Огледална топка
  • Изтощена батерия
  • патерица
  • Рентгенов
  • Мехурчета
  • Лична карта
  • Дебел знак за равенство

В допълнение, версията включва вариации и тонове на кожата на тези нови емотикони, което води до общо 112 нови дизайна.

Накратко, проблемите с емотикони на Android скоро трябва да останат в миналото.