مبادرة الأشخاص والمحادثات هي مبادرة Android لعدة سنوات وتهدف إلى رفع مستوى الأشخاص والمحادثات في أسطح الهاتف في النظام. تستند هذه الأولوية إلى حقيقة أن التواصل والتفاعل مع الأشخاص الآخرين لا يزال المجال الوظيفي الأكثر قيمة وأهمية لغالبية المستخدمين عبر جميع الفئات الديموغرافية.
تم تقديم عدد من الميزات في نظام Android 11 لدعم مبادرة الأشخاص والمحادثات.
مساحة المحادثات
![مساحة المحادثات هي منطقة إشعارات مخصّصة للمحادثات في الوقت الفعلي بين المستخدمين.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-conv-space.png?authuser=7&hl=ar)
على الأجهزة المحمولة، يتوفّر قسم منفصل في أعلى مركز الإشعارات يحتوي فقط على المحادثات في الوقت الفعلي مع الأشخاص (مثل المكالمات ورسائل المحادثة، بما في ذلك المحادثات الجماعية). تبدو الإشعارات في هذه المساحة وتتصرف بشكل مختلف عن الإشعارات غير الواردة في المحادثات على العديد من الهواتف:
- التصميم مختلف، مع التركيز القوي على الصورة الرمزية التي تمثل الأشخاص إلى جانب التطبيق الذي يحمل المحادثة.
- ويؤدي النقر على الإشعار إلى فتح المحادثة في التطبيق (أو فقاعة إذا سبق أن تم عرض فقاعة المحادثة)، ويؤدي النقر على علامة الإقحام إلى توسيع الرسائل الجديدة في مركز الإشعارات إلى طول كامل والاطّلاع على القائمة الكاملة للخيارات.
- يتم تقديم إجراءات خاصة بالمحادثة (بعضها من خلال الضغط مع الاستمرار):
- وضع علامة "أولوية" على هذه المحادثة
- روِّج لهذه المحادثة على شكل فقاعات (تُعرض فقط إذا كان التطبيق يتيح استخدام الفقاعات التفسيرية)
- كتم صوت الإشعارات لهذه المحادثة
- ضبط أصوات أو اهتزازات مخصّصة لهذه المحادثة
المحادثات في فقاعات المحادثات
![إذا استوفى الإشعار متطلبات المحادثة، ستطلقه المنصة على شكل فقاعة من درج الإشعارات.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-bubble.gif?authuser=7&hl=ar)
بدءًا من نظام التشغيل Android 11، يمكن تشغيل فقاعات المحادثات من الإشعارات في قسم "المحادثات". لا يمكن إظهار فقاعات المحادثات إلا مع الإشعارات التي لها اختصار مرتبط. تظهر المحادثات تلقائيًا إذا تم وضع علامة عليها كمهمة أو تم تشغيلها لتظهر كفقاعات في مركز الإشعارات.
اختصارات المحادثات
تظهر اختصارات المحادثات في مشغّل التطبيقات إلى جانب اختصارات المشاركة الطويلة في ورقة المشاركة.
إرشادات واجهة برمجة التطبيقات
يصف هذا القسم واجهات برمجة التطبيقات من أجل توفير الدعم في تطبيقك للمساحة التي يوفّرها النظام والتي تعرض الأشخاص والمحادثات.
اختصارات للمحادثات
من أجل المشاركة في هذه المبادرة التي تركّز على المحادثات، على التطبيقات أن توفّر للنظام اختصارات طويلة الأجل. ننصح بشدة باستخدام اختصارات المشاركة الطويلة الأمد. يمكنك استخدام الاختصارات الديناميكية في الإصدار 11 من Android عند الضرورة، غير أنّنا قد نزيل هذا الخيار في المستقبل.
لنشر اختصار للمحادثة، استدعاء طرق ShortcutManagerCompat
setDynamicShortcuts()
، أوaddDynamicShortcuts()
، أو pushDynamicShortcut()
(الذي يدير تلقائيًا حد الاختصارات للمطوِّر). يجب أن يكون هذا الاختصار
طويل العمر
وأن يحتوي على بيانات Person
لشخص واحد أو أكثر، ما يؤدي إلى تحديد المشاركين الآخرين في
المحادثة. ننصحك أيضًا بضبط LocusIdCompat
.
إذا لم تعد المحادثة متاحة، يمكن للتطبيق حذف الاختصار مع removeLongLivedShortcuts()
، ما يؤدي إلى حذف النظام لجميع البيانات المرتبطة بالمحادثة.
على الرغم من أنّ الاختصارات قابلة للإزالة، إلا أنّه يجب ألّا تزيل التطبيقات الاختصارات المخزَّنة مؤقَّتًا
إلا عند الضرورة القصوى. من المحتمل أن يتم تخزين الاختصار مؤقتًا لأن المستخدم
تفاعل معه لتغيير تجربته، وسيؤدي إزالة الاختصار إلى
التراجع عن هذه التغييرات، ما يؤدي إلى استياء المستخدم.
إشعارات المحادثات
يُعتبر الإشعار كإشعار محادثة في حال استيفاء الشروط التالية:
يستخدم الإشعار
MessagingStyle
.(فقط إذا كان التطبيق يستهدف الإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث) يتم ربط الإشعار باختصار صالح لفترة طويلة للمشاركة الديناميكي أو مخزَّن مؤقتًا. يمكن للإشعار ضبط عملية الربط هذه عن طريق طلب الرمز
setShortcutId()
أوsetShortcutInfo()
. إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو الإصدارات الأقدم، ليس من الضروري ربط الإشعار باختصار، كما هو موضَّح في قسم الخيارات الاحتياطية.لم يخفض المستخدم ترتيب المحادثة من قسم المحادثات من خلال إعدادات قناة الإشعارات في وقت النشر.
استخدام LorusIdCompat
وتحدِّد معالجة المعلومات في الجهاز المحادثات التي يُرجَّح أن يهتم بها المستخدم. من أهمّ الإشارات مدى الحداثة ومعدّل تكرار جلسات المحادثة في كل محادثة. يعرف النظام التفاعلات مع محادثة من اختصارات "مشغّل التطبيقات" أو ضمن إشعار في حال تم وضع العلامات عليها بشكل صحيح. ومع ذلك، لا يعرف النظام المحادثات التي تمت بالكامل في التطبيق ما لم يتم وضع علامة أيضًا على هذه التفاعلات. بالتالي، ننصحك بشدة بإرفاق LocusIdCompat
بالاختصار وإضافة تعليقات توضيحية إلى النشاط داخل التطبيق أو الجزء الذي يتضمن رمز LocusIdCompat
المرتبط. استخدِم LocusIdCompat
لتفعيل نظام الاقتراح لترتيب المحادثة بشكلٍ صحيح، ولتفعيل
النظام
عرض الوقت الصحيح لآخر تفاعل للمستخدم (بما في ذلك
التفاعلات داخل التطبيق) مع المحادثة. إذا كنت تستخدم setShortcutInfo()
لربط المحادثة باختصار، يرفق نظام المحادثات تلقائيًا LocusIdCompat
المناسب.
متطلّبات مساحة المحادثات للتطبيقات التي تستهدف الإصدار 10 من نظام Android أو الإصدارات الأقدم
إذا كان التطبيق لا يستهدف الإصدار 11 من نظام التشغيل Android، قد يستمر ظهور رسائله في مساحة المحادثات. ومع ذلك، يجب أن يفي التطبيق بمتطلبات معيّنة. يصف هذا القسم متطلّبات هذه التطبيقات والسلوك الاحتياطي إذا لم يستوفِ التطبيق تلك المتطلبات.
يتمثل الشرط الأساسي للمشاركة في مساحة المراسلة في أن ينفِّذ التطبيق
إشعارات MessagingStyle
،
ويجب أن تشير الإشعارات إلى
اختصار طويل الأمد من الإشعار الذي يتم نشره في وقت نشر الإشعار. تظهر الإشعارات التي تفي بهذه المتطلبات
في مساحة المحادثة وفقًا للسلوك التالي:
- يتم عرض الإشعار بنمط المحادثة.
- يظهر زر فقاعة محادثة إذا تم تنفيذه.
- يتم توفير الدوال الخاصة بالمحادثة بشكل مضمّن.
إذا لم يستوفِ الإشعار هذه المتطلبات، تستخدم المنصة الخيارات الاحتياطية لتنسيق الإشعار. إذا استوفى الإشعار متطلبات أي حالة احتياطية، يتم عرض الإشعار في مساحة المحادثة بتنسيق خاص. إذا لم يكن الإشعار مؤهَّلاً لأي خيار احتياطي، لن يتم عرضه في مساحة المحادثة.
الإجراء الاحتياطي: في حال استخدام MessagingStyle ولكن لم يتم توفير أي اختصار
إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو الإصدارات الأقدم وكان هناك إشعار يستخدم MessagingStyle
ولكنه لا يربط الرسالة باختصار، سيظهر الإشعار
في مساحة المحادثة وفقًا للسلوك التالي:
- يتم عرض الإشعار بنمط المحادثة.
- لا يتوفّر زر فقاعي
- لا يتم تقديم دوال خاصة بالمحادثة بشكل مضمّن.
الإجراء الاحتياطي: في حال عدم استخدام MessagingStyle، ولكنه تطبيق مراسلة معروف
إذا كان الإشعار لا يستخدم رمز الاستجابة MessagingStyle
ولكن النظام الأساسي يتعرّف على التطبيق على أنّه تطبيق مراسلة، وتم ضبط معلَمة
category
الإشعار على
msg
،
يظهر الإشعار في مساحة المحادثة وفقًا لما يلي:
- يتم عرض الإشعار بنمط قديم لنظام التشغيل Android 11.
- لا يتوفّر زر فقاعي
- لا يتم تقديم دوال خاصة بالمحادثة بشكل مضمّن.
الإرشادات والاستخدام والاختبار
يقدّم هذا القسم إرشادات عامة حول كيفية استخدام ميزات المحادثات واختبارها.
متى يمكنني استخدام المحادثات؟
تهدف إشعارات المحادثات والاختصارات ذات الصلة إلى تحسين تجربة مستخدم المحادثات في الوقت الفعلي. على سبيل المثال، الرسائل القصيرة SMS والدردشات النصية والمكالمات الهاتفية هي محادثات في الوقت الفعلي يتوقع المستخدمون فيها التواصل بسرعة. لا يكون لدى المستخدمين هذا التوقع مع رسائل البريد الإلكتروني والأنشطة التي لا علاقة لها بالمحادثات.
لقد منحنا المستخدمين القدرة على إزالة محادثة معينة من قسم المحادثات إذا شعروا أنها في المساحة المناسبة.
أفضل الممارسات
لزيادة التفاعل وتسهيل تفاعل المستخدمين مع الأشخاص والمحادثات حول تطبيقك، ننصحك باتّباع أفضل الممارسات التالية.
- لضمان ظهور المكالمات الفائتة في مركز المحادثة ذات الأولوية
وظهورها بشكل صحيح في
أداة الإحالات الناجحة، يجب تنسيق إشعارات المكالمات الفائتة
على أنّها
conversations
مع ضبط فئة علىCATEGORY_MISSED_CALL
. - توفير صور رمزية عالية الجودة (104 بكسل مستقل الكثافة) للمستخدمين؛ وإلا، فإن النظام يستخدم الأحرف الأولى من اسم الشخص، وهي تجربة أقل جاذبية.
- لا ترسل
cancel
إشعار محادثة قبل ألا يرى المستخدم الرسالة. أحد الأمثلة على ذلك هو إلغاء الإشعار عند فتح التطبيق في طريقة عرض حيث لا يمكن للمستخدم رؤية الرسالة أو معالجتها. وإذا لم تُتاح للمستخدم الفرصة لقراءة الرسالة أو معالجتها، تتم إزالة الإشعار المُلغى والفقاعة المرتبطة به، ما يؤدي إلى فقدان سياق المحادثة. - عليك توفير معرّف موارد منتظم (URI)
data
للبيانات الوصفية المتعلقة ببروتوكول MIME والمرتبطة بالرسائل، ما يمنحك خيار تقديم تجربة أفضل في الإشعارات. - استخدِم واجهة برمجة التطبيقات
Android 12 status
لجعل أدوات المحادثة أكثر جاذبية. - اعتمِد أفضل الممارسات التالية لاختصارات المحادثة.
- يمكنك نشر الاختصارات للمحادثات الواردة والصادرة داخل التطبيق
التي لا تتضمّن إشعارات فورية. ينبغي أن يكون للرسائل الواردة والصادرة
لنفس المحادثة نفس معرف الاختصار. استخدِم
pushDynamicShortcut()
لنشر اختصاراتك والإبلاغ عن الاستخدام. - لتجنُّب اقتصاص الصورة الرمزية للاختصار بشكل غير مقصود، أضِف
AdaptiveIconDrawable
إلى رمز الاختصار. راجع توفير صور اختصارات للحصول على مزيد من التفاصيل. - لمساعدة النظام في الترويج للاختصار الخاص بك، اتّبِع الإرشادات للحصول على أفضل ترتيب. يتم ترتيب الاختصار في مساحات عرض النظام المختلفة، بما في ذلك قائمة المشاركة على أجهزة Android إذا كان اختصارًا للمشاركة.
- تأكَّد من تشغيل اختصارات المحادثة
intents
مباشرةً في المحادثة ذات الصلة. - استخدِم اللجان المتناسقة لضبط الاختصارات بسهولة وجعلها مرتبطة بـ
conversation
.
- يمكنك نشر الاختصارات للمحادثات الواردة والصادرة داخل التطبيق
التي لا تتضمّن إشعارات فورية. ينبغي أن يكون للرسائل الواردة والصادرة
لنفس المحادثة نفس معرف الاختصار. استخدِم
اختبار إشعارات المحادثات والاختصارات
![يؤدي الضغط مطولاً على المحادثة إلى فتح قائمة من الإجراءات ذات الصلة بالمحادثة.](https://developer.android.google.cn/static/images/guide/topics/ui/conversations-testing.png?authuser=7&hl=ar)
إذا اتبعت إرشادات مساحة المحادثة، يجب أن تظهر المحادثات تلقائيًا في مساحة المحادثة. يمكنك التأكّد من دمج الاختصار بشكل صحيح من خلال الضغط مع الاستمرار على الإشعار. إذا تم الدمج بشكل صحيح، تعرض واجهة المستخدم الإجراءات المتعلقة بالمحادثة. إذا لم يكن الإشعار مرتبطًا باختصار، فستعرض واجهة المستخدم نصًا يشير إلى أن التطبيق لا يدعم ميزات المحادثة.
تظهر الاختصارات الإضافية عند الضغط مع الاستمرار على مشغِّل التطبيقات. تأكد من اختبار ما إذا كانت الاختصارات تنقلك إلى المكان الصحيح داخل تطبيقك.
اختصارات المشاركة المُضافة تظهر في صف المشاركة المباشرة في ورقة المشاركة عند مشاركة المحتوى الذي يمكن لاختصار المشاركة تلقيه.
التطبيقات المصغّرة للمحادثات
![المحادثات المعروضة في التطبيقات المصغّرة للمحادثات](https://developer.android.google.cn/static/images/guide/topics/ui/conversation-widgets.png?authuser=7&hl=ar)
في نظام التشغيل Android 12، تعتمد ميزة "أداة المحادثة" على ميزة الأشخاص والمحادثات التي تم طرحها في نظام التشغيل Android 11 من خلال السماح للتطبيقات بعرض حالة المحادثة في التطبيقات المصغّرة للمحادثات.
تعمل التطبيقات المصغّرة للمحادثات على تعزيز تفاعل المستخدم من خلال السماح لهم بفتح المحادثات بسهولة على الشاشة الرئيسية. هذه التطبيقات المصغّرة هي اختصارات محسّنة تتيح للمستخدمين العودة بكفاءة إلى محادثاتهم مع عرض مقتطفات من حالة المحادثة أو المعلومات الأخرى ذات الصلة.
التأكّد من أنّ تطبيقك يتوافق مع التطبيقات المصغّرة للمحادثات
للتحقّق من أنّ تطبيقك يتوافق مع التطبيقات المصغّرة للمحادثات، يجب أن يكون لديك جهازان يعملان بنظام التشغيل Android 12 على الأقل (كلاهما يعمل بالإصدار 12 من نظام التشغيل Android) وحسابَين للمستخدمين (أحدهما على كل جهاز) لتبادل الرسائل. لأغراض هذا الإجراء، سنقوم بتسمية الحسابين "المستخدم أ" و"المستخدم ب".
![واجهة مستخدم أداة اختيار التطبيقات المصغّرة لإضافة تطبيق مصغّر جديد للمحادثات](https://developer.android.google.cn/static/images/guide/topics/ui/widget-picker-conversation.png?authuser=7&hl=ar)
أكمِل الخطوات التالية:
- على جهاز المستخدم "أ"، اضغط مع الاستمرار على مشغِّل التطبيقات. في أداة اختيار التطبيقات المصغّرة، انقر على تطبيق مصغّر جديد لإجراء محادثة كما هو موضح في الشكل 2.
- اسحب التطبيق المصغّر إلى الشاشة الرئيسية. يجب أن تكون قائمة المحادثات النشطة أو الأخيرة من تطبيق المستخدم "أ" قابلة للاختيار.
- والآن، على جهاز المستخدم "ب"، أرسِل رسالة اختبار إلى المستخدم "أ".
- على جهاز المستخدم "أ"، تحقَّق من تحديث التطبيق المصغّر لتعكس إشعار الرسالة الواردة من المستخدم "ب".
- اختياري: اجعل كل من المستخدم "أ" والمستخدم "ب" يضبطان المحادثة على قيم حالة مختلفة للتأكد من أن أدواتهما تعكس هذه القيم بشكلٍ صحيح. للحصول على قائمة بقيم الحالة، راجع ConversationStatus.