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

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

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

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

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

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