مبادرة "الأشخاص والمحادثات" هي مبادرة متعددة السنوات على Android تهدف إلى إبراز الأشخاص والمحادثات في مساحات عرض النظام على الهاتف. تستند هذه الأولوية إلى حقيقة أنّ التواصل والتفاعل مع الآخرين يظلّان أهم مجال وظيفي وأكثرها قيمة بالنسبة إلى غالبية المستخدمين من جميع الفئات السكانية.
تم طرح عدد من الميزات في نظام التشغيل Android 11 لدعم مبادرة "الأشخاص والمحادثات".
مساحة المحادثة

على الأجهزة الجوّالة، يتوفّر قسم منفصل أعلى قائمة الإشعارات يحتوي فقط على المحادثات في الوقت الفعلي مع المستخدمين (مثل المكالمات ورسائل المحادثة، بما في ذلك المحادثات الجماعية). تختلف الإشعارات في هذه المساحة عن الإشعارات الأخرى على العديد من الهواتف من حيث الشكل وطريقة العمل:
- يختلف التصميم، مع التركيز بشكل كبير على الصورة الرمزية التي تمثّل الأشخاص، بالإضافة إلى التطبيق الذي يتضمّن المحادثة.
- يؤدي النقر على الإشعار إلى فتح المحادثة في التطبيق (أو الفقاعة إذا تم عرض المحادثة في فقاعة سابقًا)، ويؤدي النقر على علامة الإقحام إلى توسيع الرسائل الجديدة في لوحة الإشعارات إلى أقصى طول مع قائمة الخيارات الكاملة.
- تتوفّر إجراءات خاصة بالمحادثة (بعضها من خلال الضغط مع الاستمرار):
- وضع علامة "محادثة ذات أولوية" على هذه المحادثة
- ترقية هذه المحادثة إلى فقاعة محادثة (لا تظهر إلا إذا كان التطبيق يتيح استخدام فقاعات المحادثات)
- كتم صوت الإشعارات لهذه المحادثة
- ضبط أصوات أو اهتزازات مخصّصة لهذه المحادثة
المحادثات في الفقاعات

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

إذا اتّبعت الإرشادات الخاصة بمساحة المحادثة، من المفترض أن تظهر المحادثات تلقائيًا في مساحة المحادثة. يمكنك التأكّد من دمج الاختصار بشكل صحيح من خلال الضغط مع الاستمرار على الإشعار. في حال تم الدمج بشكل صحيح، ستعرض واجهة المستخدم الإجراءات ذات الصلة بالمحادثة. إذا لم يكن الإشعار مرتبطًا باختصار، ستعرض واجهة المستخدم نصًا يشير إلى أنّ التطبيق لا يتيح ميزات المحادثة.
تظهر الاختصارات المُضافة عند الضغط مع الاستمرار على مشغّل التطبيقات. احرص على اختبار ما إذا كانت الاختصارات تنقلك إلى المكان الصحيح داخل تطبيقك.
تظهر اختصارات المشاركة المضافة في صف المشاركة المباشرة في ورقة المشاركة عند مشاركة محتوى يمكن أن يتلقّاه اختصار المشاركة.
التطبيقات المصغّرة للمحادثات

في نظام التشغيل Android 12، تستند ميزة "تطبيق المحادثات المصغّر" إلى ميزة "الأشخاص والمحادثات" التي تم طرحها في نظام التشغيل Android 11 من خلال السماح للتطبيقات بعرض حالة المحادثة في تطبيقات المحادثات المصغّرة.
تعزّز التطبيقات المصغّرة للمحادثات تفاعل المستخدمين من خلال السماح لهم بفتح المحادثات بسهولة على الشاشة الرئيسية. هذه التطبيقات المصغّرة هي اختصارات محسّنة تتيح للمستخدمين العودة إلى محادثاتهم بكفاءة مع عرض مقتطفات من حالة المحادثة أو معلومات أخرى ذات صلة.
التأكّد من أنّ تطبيقك يتيح استخدام أدوات المحادثة
للتأكّد من أنّ تطبيقك يتيح استخدام أدوات المحادثة، يجب أن يتوفّر لديك جهازان يعملان بنظام التشغيل Android 12 على الأقل وحسابا مستخدمَين (حساب على كل جهاز) لتبادل الرسائل. لأغراض هذا الإجراء، سنشير إلى الحسابَين باسم "المستخدم أ" و"المستخدم ب".

أكمِل الخطوات التالية:
- على جهاز المستخدم (أ)، اضغط مع الاستمرار على مشغّل التطبيقات. في أداة اختيار التطبيقات المصغّرة، انقر على تطبيق مصغّر جديد لمحادثة كما هو موضّح في الشكل 2.
- اسحب التطبيق المصغّر إلى الشاشة الرئيسية. يجب أن تكون قائمة المحادثات النشطة أو الحديثة من تطبيق المستخدم (أ) قابلة للتحديد.
- الآن، على جهاز المستخدم "ب"، أرسِل رسالة اختبار إلى المستخدم "أ".
- على جهاز المستخدم (أ)، تأكَّد من تعديل الأداة لتعرض إشعارًا بالرسالة الواردة من المستخدم (ب).
- اختياري: اطلب من المستخدم (أ) والمستخدم (ب) ضبط حالة المحادثة على قيم مختلفة للتأكّد من أنّ الأدوات تعكس هذه القيم بشكل صحيح. للاطّلاع على قائمة بقيم الحالة، يُرجى الرجوع إلى ConversationStatus.