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