مبادرة "الأشخاص والمحادثات" هي مبادرة متعددة السنوات من 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 أو الإصدارات الأقدم
إذا كان التطبيق لا يستهدف الإصدار 11 من نظام التشغيل Android، سيظل بإمكانه عرض رسائله في مساحة المحادثة. ومع ذلك، لا يزال يجب أن يلبي التطبيق متطلبات معينة. يصف هذا القسم متطلبات هذه التطبيقات، والسلوك الاحتياطي إذا كان التطبيق لا يلبي المتطلبات.
الشرط الأساسي للمشاركة في مساحة المراسلة هو أن ينفِّذ التطبيق إشعارات MessagingStyle
، ويجب أن تشير الإشعارات إلى اختصار دائم من الإشعار الذي يتم نشره في
وقت نشر الإشعار. تظهر الإشعارات التي تستوفي هذه المتطلبات
في مساحة المحادثة بالسلوك التالي:
- يتم عرض الإشعار بأسلوب المحادثة
- يتم عرض زر فقاعة تفسيرية إذا تم تنفيذه
- يتمّ عرض الدوالّ المخصّصة للمحادثة ضمن النص
إذا لم يستوفِ الإشعار هذه المتطلبات، ستستخدِم المنصة خيارات البديل لتنسيق الإشعار. إذا كان الإشعار يستوفي متطلبات أحد هذين الحالتَين الاحتياطيتَين، يتم عرض الإشعار في مساحة المحادثة بتنسيق خاص. إذا لم يكن الإشعار مؤهلاً لأي من خياري الرد الاحتياطي، لن يتم عرضه في مساحة المحادثة.
الإجراء الاحتياطي: في حال استخدام MessagingStyle ولكن لم يتم توفير أي اختصار
إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو إصدارًا أقدم وكان الإشعار يستخدم رمز MessagingStyle
ولكنه لا يربط الرسالة باختصار، يتم عرض الإشعار
في مساحة المحادثة مع هذا السلوك:
- يتم عرض الإشعار بأسلوب المحادثة
- لا يتوفّر زر الفقاعة
- لا تتوفّر أي وظائف خاصة بالمحادثة مضمّنة
الإجراء الاحتياطي: في حال عدم استخدام MessagingStyle، كان التطبيق عبارة عن تطبيق مراسلة معروف
إذا كان الإشعار لا يستخدم
MessagingStyle
ولكن المنصة تُعرّف التطبيق على أنّه تطبيق مراسلة، وتم ضبط المَعلمة
category
للإشعار على
msg
،
يتم عرض الإشعار في مساحة المحادثة مع هذا السلوك:
- يتم عرض الإشعار بالطراز القديم الذي كان متوفّرًا قبل Android 11
- لا يتوفّر زر الفقاعة
- لا تتوفّر أي وظائف خاصة بالمحادثة مضمّنة
التوجيه والاستخدام والاختبار
يقدّم هذا القسم إرشادات عامة حول كيفية استخدام ميزات المحادثة واختبارها.
متى يجب استخدام المحادثات؟
تهدف إشعارات المحادثات والاختصارات ذات الصلة إلى تحسين تجربة المستخدم في المحادثات في الوقت الفعلي. على سبيل المثال، الرسائل القصيرة SMS والمحادثات النصية والمكالمات الهاتفية هي محادثات في الوقت الفعلي يتوقع المستخدمون فيها التواصل بسرعة. لا يتوقع المستخدمون ذلك في ما يتعلّق بالرسائل الإلكترونية والأنشطة غير ذات الصلة بالمحادثات.
منحنا المستخدمين إمكانية إزالة محادثة معيّنة من قسم المحادثات إذا لم يعتقدوا أنّها في المساحة المناسبة.
أفضل الممارسات
لزيادة التفاعل وتسهيل تفاعل المستخدمين مع الأشخاص والمحادثات حول تطبيقك، ننصحك باتّباع أفضل الممارسات التالية.
- لضمان ظهور المكالمات الفائتة في ميزة "محادثات ذات الأولوية"
بالشكل الصحيح في
أداة تحويل الإحالات الناجحة، عليك تنسيق إشعارات المكالمات الفائتة
على النحو التالي
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.