مبادرة "الأشخاص والمحادثات" هي مبادرة متعددة السنوات من Androidتهدف إلى تحسين ميزة "الأشخاص والمحادثات" في مساحات عرض النظام على الهاتف. تستند هذه الأولوية إلى حقيقة أنّ التواصل والتفاعل مع الآخرين لا يزالان المجالان الوظيفيان الأكثر أهمية وقيمة بالنسبة إلى غالبية مستخدمينا في جميع الفئات الديمغرافية.
تم طرح عدد من الميزات في Android 11 لدعم مبادرة الأشخاص والمحادثات.
مساحة المحادثة
على الأجهزة الجوّالة، يظهر قسم منفصل أعلى مربّع الإشعارات لا يتضمّن سوى المحادثات مع الأشخاص في الوقت الفعلي (مثل المكالمات ورسائل المحادثة، بما في ذلك المحادثات الجماعية). تختلف مظهر الإشعارات في هذه المساحة عن مظهر الإشعارات غير المتعلّقة بالمحادثات على العديد من الهواتف، كما يختلف أسلوب عملها:
- يختلف التصميم، مع التركيز بشكل كبير على الصورة الرمزية التي تمثّل المستخدمين مع التطبيق الذي يجري المحادثة.
- يؤدي النقر على الإشعار إلى فتح المحادثة في التطبيق (أو فقاعة، إذا كانت المحادثة قد تم وضعها في فقاعة سابقًا)، ويؤدي النقر على علامة الاقتباس إلى توسيع الرسائل الجديدة في النافذة المنبثقة إلى الطول الكامل مع القائمة الكاملة للخيارات.
- يتم تقديم إجراءات خاصة بالمحادثة (بعضها من خلال الضغط مع الاستمرار):
- وضع علامة "محادثة ذات أولوية" على هذه المحادثة
- ترقية هذه المحادثة إلى فقاعة (لا تظهر إلا إذا كان التطبيق يتيح استخدام الفقاعات)
- كتم صوت الإشعارات لهذه المحادثة
- ضبط أصوات أو اهتزازات مخصّصة لهذه المحادثة
المحادثات في الفقاعات
بدءًا من Android 11، يمكن بدء المحادثات المنبثقة من الإشعارات في قسم "المحادثات". لا يمكن عرض الإشعارات على شكل فقاعات إلا إذا كانت مرتبطة بأحد الاختصارات. تظهر المحادثات في فقاعات تلقائيًا إذا تم وضع علامة عليها كمحادثات مهمة أو تم تفعيلها لظهورها في فقاعة في مربّع إعلام الرسائل.
اختصارات المحادثات
تظهر اختصارات المحادثات في مشغّل التطبيقات إلى جانب اختصارات المشاركة التي تبقى صالحة لفترة طويلة في لوحة المشاركة.
إرشادات واجهة برمجة التطبيقات
يوضّح هذا القسم واجهات برمجة التطبيقات لإضافة ميزة التكامل في تطبيقك مع المساحة المقدَّمة من النظام والتي تعرض المستخدمين والمحادثات.
اختصارات المحادثات
للمشاركة في هذه المبادرة التي تركّز على المحادثات، يجب أن تهدف التطبيقات إلى تزويد النظام باختصارات صالحة لفترة طويلة. ننصحك بشدة باستخدام اختصارات المشاركة صالحة لفترة طويلة. إذا كان ذلك ضروريًا، يمكنك استخدام اختصارات الديناميكية في Android 11، ولكن قد نزيل هذا الخيار في المستقبل.
لنشر اختصار للدردشة، يمكنك استدعاء ShortcutManagerCompat
methods
setDynamicShortcuts()
،
addDynamicShortcuts()
،
أو pushDynamicShortcut()
(التي تدير تلقائيًا الحد الأقصى المسموح به للمطوّر من الاختصارات). يجب أن يكون هذا الاختصار
صالحًا لفترة طويلة
ومرفقًا به بيانات Person
لشخص واحد أو أكثر، لتحديد المشاركين الآخرين في
المحادثة. ننصحك أيضًا بضبط LocusIdCompat
.
إذا لم تعُد المحادثة متوفّرة، يمكن للتطبيق حذف الاختصار باستخدام الرمز
removeLongLivedShortcuts()
، ويؤدي ذلك إلى حذف النظام لجميع البيانات المرتبطة بالمحادثة.
على الرغم من أنّ الاختصارات قابلة للإزالة، يجب ألا تزيل التطبيقات الاختصارات المخزّنة مؤقتًا
إلا إذا كان ذلك ضروريًا للغاية. من المحتمل أن يكون الاختصار مخزّنًا مؤقتًا لأنّ المستخدم
تفاعل معه لتغيير تجربته، وستؤدي إزالة الاختصار إلى
إلغاء هذه التغييرات، ما سيؤدي إلى إحباط المستخدم.
إشعارات المحادثات
يُعتبر الإشعار إشعار محادثة في حال استيفاء الشروط التالية:
يستخدم الإشعار
MessagingStyle
.(إذا كان التطبيق يستهدف الإصدار Android 11 أو الإصدارات الأحدث فقط) يجب أن يكون الإشعار مرتبطًا باختصار مشاركة ديناميكي أو مخزّن مؤقتًا وصالح لفترة طويلة صالحًا. يمكن للإشعار ضبط هذا الربط من خلال استدعاء
setShortcutId()
أوsetShortcutInfo()
. إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو إصدارًا أقدم، ليس على الإشعار أن يكون مرتبطًا باختصار، كما هو موضّح في القسم خيارات الإجراء البديل.لم يُخفِض المستخدم ترتيب المحادثة من قسم المحادثات من خلال إعدادات قناة الإشعارات، في وقت نشر المحتوى.
استخدام LocusIdCompat
تحدِّد ميزة "الذكاء على الجهاز" المحادثات التي يُرجّح أن يهتم بها المستخدم. ومن بين الإشارات الأكثر أهمية الحداثة و
وتيرة جلسات المحادثة في كل محادثة. يتعرّف النظام على التفاعلات مع محادثة من اختصارات مشغّل التطبيقات أو ضمن إشعار إذا تم وضع علامة عليها بشكل صحيح. ومع ذلك، لا يعرف النظام
المحادثات التي تمت بالكامل في التطبيق ما لم تتم الإشارة
أيضًا إلى هذه التفاعلات. لذلك، ننصحك بشدة بإرفاق LocusIdCompat
بالاختصار
وإضافة تعليقات توضيحية إلى النشاط أو المقتطف داخل التطبيق باستخدام
LocusIdCompat
المرتبط به. استخدِم LocusIdCompat
لتفعيل نظام الاقتراحات من أجل ترتيب المحادثة بشكلٍ صحيح، ولتمكين
النظام من عرض الوقت الصحيح لآخر تفاعل للمستخدِم (بما في ذلك
التفاعلات داخل التطبيق) مع محادثة. إذا استخدمت
setShortcutInfo()
لربط المحادثة باختصار، يرفق نظام المحادثات
تلقائيًا LocusIdCompat
المناسب.
متطلبات مساحة المحادثة للتطبيقات التي تستهدف الإصدار 10 من نظام التشغيل Android أو الإصدارات الأقدم
إذا كان التطبيق لا يستهدف الإصدار 11 من نظام التشغيل Android، سيظل بإمكانه عرض رسائله في مساحة المحادثة. ومع ذلك، يجب أن يستوفي التطبيق متطلبات معيّنة. يصف هذا القسم متطلبات هذه التطبيقات، و السلوك الاحتياطي في حال عدم استيفاء التطبيق للمتطلبات.
الشرط الأساسي للمشاركة في مساحة المراسلة هو أن ينفِّذ التطبيق
إشعارات MessagingStyle
، ويجب أن تشير الإشعارات إلى
اختصار دائم من الإشعار الذي يتم نشره في
وقت نشر الإشعار. تظهر الإشعارات التي تستوفي هذه المتطلبات
في مساحة المحادثة بالسلوك التالي:
- يتم عرض الإشعار بأسلوب المحادثة
- توفُّر زر Bubble، في حال تنفيذه
- يتم عرض الدوالّ المخصّصة للمحادثة مضمّنة
إذا لم يستوفِ الإشعار هذه المتطلبات، ستستخدِم المنصة خيارات البديل لتنسيق الإشعار. إذا كان الإشعار يستوفي متطلبات أحد هذين الحالتَين الاحتياطيتَين، يتم عرض الإشعار في مساحة المحادثة بتنسيق خاص. إذا لم يكن الإشعار مؤهلاً لأي من خياري الرد الاحتياطي، لن يتم عرضه في مساحة المحادثة.
الإجراء الاحتياطي: في حال استخدام MessagingStyle ولكن لم يتم توفير اختصار
إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو إصدارًا أقدم وكان الإشعار يستخدم رمز MessagingStyle
ولكنه لا يربط الرسالة باختصار، يتم عرض الإشعار
في مساحة المحادثة مع هذا السلوك:
- يتم عرض الإشعار بأسلوب المحادثة
- لا يتوفّر زر الفقاعة
- لا تتوفّر أي وظائف خاصة بالمحادثة مضمّنة
الإعداد التلقائي: إذا لم يتم استخدام MessagingStyle، ولكن التطبيق هو تطبيق مراسلة معروف
إذا كان الإشعار لا يستخدم
MessagingStyle
ولكن المنصة تُعرّف التطبيق على أنّه تطبيق مراسلة، وتم ضبط المَعلمة
category
للإشعار على
msg
،
يتم عرض الإشعار في مساحة المحادثة مع هذا السلوك:
- يتم عرض الإشعار بالطراز القديم الذي كان متوفّرًا قبل Android 11
- لا يتوفّر زر الفقاعة
- لا تتوفّر أي وظائف خاصة بالمحادثة مضمّنة
الإرشادات والاستخدام والاختبار
يوفّر هذا القسم إرشادات عامة حول كيفية استخدام ميزات المحادثات واختبارها.
متى يجب استخدام المحادثات؟
تهدف إشعارات المحادثات والاختصارات ذات الصلة إلى تحسين تجربة المستخدم في المحادثات في الوقت الفعلي. على سبيل المثال، الرسائل القصيرة والمحادثات النصية والمكالمات الهاتفية هي محادثات في الوقت الفعلي يتوقّع المستخدمون من خلالها التواصل بشكل سريع. لا يتوقّع المستخدمون ذلك في ما يتعلّق بالرسائل الإلكترونية والأنشطة غير المرتبطة بالمحادثات.
منحنا المستخدمين إمكانية إزالة محادثة معيّنة من قسم المحادثات إذا لم يعتقدوا أنّها في المساحة المناسبة.
أفضل الممارسات
لزيادة التفاعل وتسهيل تفاعل المستخدمين مع الأشخاص والمحادثات حول تطبيقك، ننصحك باتّباع أفضل الممارسات التالية.
- لضمان ظهور المكالمات الفائتة في مربّع المحادثات المُعطاة الأولوية
وظهورها بشكل صحيح في
شريحة تحويل الإحالات الناجحة، عليك تنسيق إشعارات المكالمات الفائتة
على النحو التالي
conversations
مع ضبط الفئة علىCATEGORY_MISSED_CALL
. - قدِّم صورًا رمزية عالية الجودة (104dp) للمستخدمين، وإلا سيستخدم النظام اسمه الأول ولقبه، ما يقلّل من جاذبية التجربة.
- لا
cancel
إشعارًا بالمحادثة قبل أن يرى المستخدم الرسالة. ومن الأمثلة على ذلك إلغاء إشعار عند فتح التطبيق في طريقة عرض لا يمكن للمستخدم فيها الاطّلاع على الرسالة أو الردّ عليها. إذا لم تُعطَى للمستخدم فرصة قراءة الرسالة أو الردّ عليها، تتم إزالة الإشعار المُلغى والفقاعة المرتبطة به، ما يؤدي إلى فقدان سياق المحادثة. - قدِّم عنوان موارد
data
على الإنترنت للبيانات الوصفية ذات الصلة بتنسيق MIME والمرتبطة بالرسائل، ما يمنحك خيارًا لتوفير تجربة أكثر ثراءً في الإشعارات. - استخدِم واجهة برمجة التطبيقات
Android 12 status
لزيادة تفاعل تطبيقات المحادثات المصغّرة. - اتّبِع أفضل الممارسات التالية المتعلّقة
باختصارات المحادثات.
- يمكنك نشر اختصارات للمحادثات الواردة والصادرة داخل التطبيق والتي
لا تُرسِل إشعارات فورية. يجب أن تحتوي الرسائل الواردة والصادرة في المحادثة
نفسها على معرّف الاختصار نفسه. استخدِم
pushDynamicShortcut()
لنشر الاختصارات والإبلاغ عن الاستخدام. - لتجنّب اقتصاص الصورة الرمزية للاختصار بشكل غير مقصود، قدِّم
AdaptiveIconDrawable
لرمز الاختصار. اطّلِع على توفير صور الاختصارات للحصول على مزيد من التفاصيل. - لمساعدة النظام في الترويج للاختصار، اتّبِع الإرشادات للحصول على أفضل ترتيب. يتم ترتيب الاختصار في مساحات عرض مختلفة للنظام، بما في ذلك جدول مشاركة التطبيقات على Android إذا كان اختصارًا للمشاركة.
- تأكَّد من أنّ اختصارات المحادثات
intents
تؤدي إلى الانتقال مباشرةً إلى المحادثة المعنية. - استخدِم مكتبات التوافق لضبط الاختصارات بسهولة على أنّها مرتبطة بملف
conversation
.
- يمكنك نشر اختصارات للمحادثات الواردة والصادرة داخل التطبيق والتي
لا تُرسِل إشعارات فورية. يجب أن تحتوي الرسائل الواردة والصادرة في المحادثة
نفسها على معرّف الاختصار نفسه. استخدِم
اختبار اختصارات وإشعارات المحادثات
إذا اتّبعت إرشادات مساحة المحادثة، من المفترض أن تظهر المحادثات تلقائيًا في مساحة المحادثة. يمكنك التحقّق من دمج الاختصار بشكلٍ صحيح من خلال الضغط مع الاستمرار على الإشعار. في حال اكتمال عملية الدمج بشكل صحيح، تعرض واجهة المستخدم الإجراءات ذات الصلة بالمحادثة. إذا لم يكن الإشعار مرتبطًا باختصار، تعرض واجهة المستخدم نصًا يفيد بأنّ التطبيق لا يتيح ميزات المحادثة.
تظهر الاختصارات المُضافة عند الضغط مع الاستمرار على مشغِّل التطبيقات. احرص على اختبار اختصارات الشاشة للتأكد من أنّها تنقلك إلى المكان الصحيح في تطبيقك.
اختصارات المشاركة المُضافة: تظهر في صف المشاركة المباشرة ضمن "لوحة المشاركة" عند مشاركة محتوى يمكنه استخدام اختصار المشاركة.
التطبيقات المصغّرة للمحادثات
في نظام التشغيل Android 12، تستند ميزة "تطبيق مصغّر للمحادثات" إلى ميزة الأشخاص والمحادثات التي تم طرحها في Android 11، وذلك من خلال السماح للتطبيقات بعرض حالة المحادثة في التطبيقات المصغّرة للمحادثات.
تعزّز التطبيقات المصغّرة للمحادثات تفاعل المستخدمين من خلال السماح لهم بفتح المحادثات بسهولة على الشاشة الرئيسية. هذه التطبيقات المصغّرة هي اختصارات محسّنة تتيح للمستخدمين الرجوع إلى محادثاتهم بكفاءة مع عرض مقتطفات من حالة محادثاتهم أو معلومات أخرى ذات صلة.
التأكّد من أنّ تطبيقك متوافق مع التطبيقات المصغّرة للمحادثات
للتأكّد من أنّ تطبيقك متوافق مع التطبيقات المصغّرة للمحادثات، يجب أن يكون لديك دستان على الأقل من أجهزة Android (يعمل كلاهما بنظام التشغيل Android 12) وحسابان للمستخدِمين (حساب على كل جهاز) لتبادل الرسائل. لأغراض هذا الإجراء، سنُطلِق على الحسابَين اسمَي "المستخدم أ" و"المستخدم ب".
أكمِل الخطوات التالية:
- على جهاز المستخدم "أ"، اضغط مع الاستمرار على مشغّل التطبيقات. في أداة اختيار التطبيقات المصغّرة، انقر على تطبيق مصغّر جديد لمحادثة كما هو موضّح في الشكل 2.
- اسحب التطبيق المصغّر إلى الشاشة الرئيسية. يجب أن تكون قائمة بالمحادثات النشطة أو الأخيرة من تطبيق المستخدم "أ" قابلة للاختيار.
- الآن، على جهاز المستخدم "ب"، أرسِل رسالة اختبار إلى المستخدم "أ".
- على جهاز المستخدم "أ"، تأكَّد من أنّ التطبيق المصغّر قد تم تعديله ليعرض إعلام الرسالة الواردة من المستخدم "ب".
- اختياري: اطلب من المستخدِم "أ" والمستخدِم "ب" ضبط قيم مختلفة لحالة المحادثة لضمان أن تعرض التطبيقات المصغّرة هذه القيم بشكل صحيح. للحصول على قائمة بقيمة الحالة، اطّلِع على ConversationStatus.