يواجه Android مشكلة الرموز التعبيرية، وتتخذ Google نهجًا ذا شقين لحلها باستخدام خطوط النظام القابلة للتحديث وEmojiCompat.
أحبهم ❤ أو أكرههم 🤬، أصبحت الرموز التعبيرية شكلاً أساسيًا من أشكال التعبير هذه الأيام. تضيف هذه النقط الصغيرة المشاعر والقصد إلى الكلمات، ولن تكتمل المحادثة عبر الإنترنت بدونها. إنها مشكلة كبيرة حتى بالنسبة للمحادثات بين الأشخاص - لماذا نضيع الوقت في قول الكثير من الكلمات عندما تكون الرموز التعبيرية خادعة؟ لذلك ليس من المفاجئ أن تقوم Google بإلقاء نظرة على نظام Android واكتشفت أنه يعاني من مشكلة الرموز التعبيرية أندرويد 12، فهو يحاول إصلاحه.
Android ومشكلة الرموز التعبيرية الخاصة به
الرموز التعبيرية هي مشكلة كبيرة. وصل استخدام الرموز التعبيرية إلى أعلى مستوياته على الإطلاق، ويرسل المستخدمون في بعض التطبيقات مليارات الرموز التعبيرية يوميًا. التغذية ومواكبة هذه التغييرات هي معيار يونيكود، ويتلقى تحديثات متكررة تضيف رموزًا تعبيرية جديدة. تتمحور هذه الرموز التعبيرية الجديدة حول حالات الاستخدام والاتجاهات الجديدة وحتى الاختلافات لجعلها تمثل أفضل للتنوع والشمول.
فيه العرض التقديمي لقمة Android Dev 2021
المشاكل لا تنتهي مع tofus. في بعض الحالات المتعلقة بالرموز التعبيرية الأحدث وإصدارات Android الأقدم، يصبح الرمز التعبيري المعروض موجودًا تمثيل صيغةي، يتطلب من المستخدمين القيام ببعض التمارين الذهنية لفهم ما يحدث بالفعل على.
قبل Android 12، عندما يحصل Unicode على رموز تعبيرية جديدة، كنا بحاجة إلى انتظار ترقية نظام التشغيل Android إلى الوصول إلى هواتفنا لتقديم الدعم للرموز التعبيرية، قبل أن نتمكن فعليًا من جعلها جزءًا من الإنترنت لدينا لغة. ونحن نعلم جميعًا مدى سوء حالة تحديث Android. نعم، لقد تحسنت. ولكن ما لم يكن لديك هاتف رائد، فمن المحتمل أنك لا تزال تستغرق بضعة أشهر قبل أن يصل التحديث الأخير إلى جهازك في إصدار مستقر. هناك فرصة جيدة لإضافة المزيد من الرموز التعبيرية الجديدة في هذا الفارق الزمني، مما يبقيك بعيدًا عن اللغة الحالية.
ومن الواضح أن هناك مشكلة هنا، ويجب أن يكون هناك حل. حددت جوجل لنفسها هدفًا يتمثل في إتاحة كل الرموز التعبيرية لجميع مستخدمي أندرويد في جميع التطبيقات، وهي تتخذ نهجًا ذا شقين لتحقيق ذلك.
الحل 1 من 2: خطوط النظام القابلة للتحديث (Android 12 والإصدارات الأحدث)
بدءًا من Android S (Android 12)، قدمت Google خطوط نظام قابلة للتحديث، والخط الأول الذي سيتم تحديثه هو خط الرموز التعبيرية.
لقد تحدثنا عن خطوط النظام القابلة للتحديث في الماضي، منذ ما يقرب من عام في الواقع. في نظام Android 11 والإصدارات الأقدم، يتم تخزين جميع الخطوط الموجودة على نظام Android في قسم النظام، وبشكل أكثر تحديدًا، ضمن قسم /system/fonts الدليل. الرموز التعبيرية، على وجه الخصوص، موجودة في الملف المسمى NotoColorEmoji.ttf. قسم النظام للقراءة فقط، ويتطلب تحديث أي ملف داخل القسم تحديث النظام أثناء عدم تثبيت القسم. لذا فإن الطريقة الوحيدة للحصول على خطوط جديدة ورموز تعبيرية جديدة هي انتظار تحديث رسمي عبر الهواء أو قم بتثبيته بنفسك بشكل غير رسمي من خلال الجذر.
مع Android 12 وخطوط النظام القابلة للتحديث، يمكن لـ يتم تخزين ملفات الخطوط في /data/fonts/files، ومتاح للقراءة لجميع التطبيقات ولكنه قابل للكتابة فقط بواسطة system_server و فيه. بهذه الطريقة، يمكن لـ Google إرسال ملفات الخطوط المحدثة، ويمكن للتطبيقات قراءتها للحصول على أحدث المعلومات بغض النظر عن موعد آخر تحديث لنظام Android على الهاتف. باعتبارك مطور تطبيقات وحتى كمستخدم، لن تضطر أبدًا إلى التفكير في دعم الرموز التعبيرية مرة أخرى على جهاز يعمل بنظام التشغيل Android 12+.
الحل 2 من 2: EmojiCompat مع AppCompat 1.4 (Android 4.4. إلى Android 11)
تم إطلاق Android 12 منذ بضعة أسابيع في الفرع المستقر، وسيستغرق الأمر بعض الوقت قبل أن ترى انتشارًا عبر نظام Android البيئي. لذلك أنت بحاجة إلى حل يعمل على نظام التشغيل Android 11 والإصدارات الأقدم. ذلك الحل هو مكتبة دعم EmojiCompat.
أبكومبات 1.4 يتضمن EmojiCompat، مما يعني أن جميع التطبيقات التي تستخدم AppCompat 1.4 ستدعم الرموز التعبيرية الحديثة تلقائيًا. باعتبارك مطور تطبيقات، تحتاج فقط إلى دمج/رفع إصدار AppCompat الخاص بك إلى 1.4 وستعرض الرموز التعبيرية المحدثة للمستخدمين حتى على Android 4.4، دون الحاجة إلى أي جهد إضافي من أي شخص.
هناك صيد صغير بالرغم من ذلك. المهم هو أن هذا تغيير موجه نحو GMS ويتطلب تشغيل خدمات Google Play. لا يعد هذا تغييرًا في AOSP لإصدارات Android الأقدم بالطريقة التي كان بها الحل الأول، ولا يمكن أن يكون كذلك أيضًا بسبب الطريقة التي يعمل بها الوقت والفيزياء.
سياسة رموز تعبيرية Android لنظام Android 12
بالإضافة إلى هذه الميزات، أضافت جوجل أيضًا سياسة Android Emoji للتطبيقات التي تعمل على نظام Android 12 والإصدارات الأحدث. يجب أن تتوافق هذه التطبيقات مع أحدث إصدار من Unicode خلال 4 أشهر من توفرها للعامة، ويجب أن تفعل ذلك بإحدى الطرق الثلاث التالية:
- إذا كان AppCompat قيد الاستخدام بالفعل، فتأكد من تمكين الرموز التعبيرية.
- استخدم مكتبة EmojiCompat الموجودة عبر جميع الأسطح داخل التطبيق. يجب أن يعمل هذا مع طرق العرض المخصصة التي تستخدم StaticLayout مباشرةً.
- قم بتحديث المعالجة والخط/الصور للرموز التعبيرية بناءً على أحدث إصدار من Unicode.
إذا كان فهمي صحيحًا، فإن الخيار الأخير هو مجرد مطالبة المطورين بتجميع الرموز التعبيرية داخل تطبيقاتهم. وفي كلتا الحالتين، يحتاج المطورون إلى التأكد من استيفائهم لهذه المتطلبات قبل فبراير 2022.
لدى Google موارد لمطوري التطبيقات لإصلاح مشكلات الرموز التعبيرية، ونوصيك بالاطلاع عليها:
- Android Developer Summit 2021: عرض جميع الرموز التعبيرية في تطبيقك (وسبب أهميتها)
- وثائق مطور Android: دعم الرموز التعبيرية الحديثة
- سياسة برنامج المطورين: إعلان 27 أكتوبر 2021 - سياسة Android Emoji
أندرويد 12L ويونيكود 14
أندرويد 12L كان ذلك أطلقت أمس يأتي مع دعم يونيكود 14 (عبر 9to5Google). يتضمن Unicode 14.0 الرموز التعبيرية الجديدة التالية:
- ذوبان الوجه
- وجه بعيون مفتوحة ووضع اليد على الفم
- وجه مع عين تطل
- تحية الوجه
- وجه الخط المنقط
- وجه ذو فم قطري
- الوجه يحبس الدموع
- اليد اليمنى
- اليد اليسرى
- راحة اليد إلى أسفل
- راحة اليد مرفوعة
- اليد مع السبابة والإبهام متقاطعة
- مؤشر يشير إلى المشاهد
- أيدي القلب
- عض الشفاه
- شخص مع التاج
- الرجل الحامل
- الشخص الحامل
- القزم
- المرجان
- لوتس
- عش فارغ
- عش مع البيض
- فول
- صب السائل
- إناء
- الشرائح ملعب
- عجلة
- العوامة الدائرية
- همسة
- كرة الديسكو
- البطارية ضعيفة
- عكاز
- الأشعة السينية
- فقاعات
- بطاقة الهوية
- علامة يساوي الثقيلة
بالإضافة إلى ذلك، يتضمن الإصدار أشكالًا مختلفة وألوانًا مختلفة لهذه الرموز التعبيرية الجديدة، ليصل المجموع إلى 112 تصميمًا جديدًا.
باختصار، يجب أن تصبح مشكلات الرموز التعبيرية لنظام Android شيئًا من الماضي قريبًا.