الأشخاص والمحادثات

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

تم تقديم عدد من الميزات في Android 11 لدعم مبادرة الأشخاص والمحادثات.

مساحة المحادثة


مساحة المحادثة هي منطقة مخصّصة للإشعارات في الوقت الفعلي
       بين المستخدمين.
الشكل 1: مساحة المحادثات

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

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

المحادثات في الفقاعات

إذا كان الإشعار يستوفي متطلبات المحادثة، يطلقه النظام الأساسي كفقاعة من درج الإشعارات.
الشكل 2: إشعار يتم تشغيله كفقاعة من لوحة الإشعارات

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

اختصارات المحادثات

تظهر اختصارات المحادثات في مشغّل التطبيقات وإلى جانب اختصارات المشاركة طويلة الأمد في صفحة المشاركة.

إرشادات واجهة برمجة التطبيقات

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

اختصارات المحادثات

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

لنشر اختصار للمحادثة، يمكنك استدعاء طرق ShortcutManagerCompat setDynamicShortcuts() أو addDynamicShortcuts() أو pushDynamicShortcut() (التي تدير تلقائيًا الحد الأقصى للاختصارات المسموح بها للمطوّر). يجب أن يكون هذا الاختصار طويل الأمد وأن يتضمّن بيانات Person مرفقة لشخص واحد أو أكثر، مع تحديد المشاركين الآخرين في المحادثة. ننصحك أيضًا بضبط LocusIdCompat.

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

إشعارات المحادثات

يُعتبر الإشعار إشعارًا بمحادثة إذا توفّرت الشروط التالية:

  • يستخدم الإشعار MessagingStyle.

  • (فقط إذا كان التطبيق يستهدف الإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث) يرتبط الإشعار باختصار مشاركة ديناميكي أو مخزَّن مؤقتًا صالح طويل الأمد. يمكن للإشعار ضبط هذا الربط من خلال طلب setShortcutId() أو setShortcutInfo(). إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو الإصدارات الأقدم، ليس من الضروري أن يكون الإشعار مرتبطًا باختصار، كما هو موضّح في قسم خيارات الاحتياط.

  • لم يخفض المستخدم ترتيب المحادثة من قسم المحادثات من خلال إعدادات قناة الإشعارات في وقت النشر.

استخدام LocusIdCompat

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

متطلبات مساحة المحادثة للتطبيقات التي تستهدف الإصدار Android 10 أو الإصدارات الأقدم

إذا لم يكن التطبيق يستهدف الإصدار Android 11، سيظل بإمكانه عرض رسائله في مساحة المحادثة. ومع ذلك، يجب أن يستوفي التطبيق متطلبات معيّنة. يصف هذا القسم متطلبات هذه التطبيقات، والسلوك الاحتياطي في حال عدم استيفاء التطبيق للمتطلبات.

الشرط الأساسي للمشاركة في مساحة المراسلة هو أن يطبّق التطبيق إشعارات MessagingStyle، ويجب أن تشير الإشعارات إلى اختصار طويل الأمد من الإشعار الذي يتم نشره في وقت نشر الإشعار. تظهر الإشعارات التي تستوفي هذه المتطلبات في مساحة المحادثة بالسلوك التالي:

  • يتم عرض الإشعار بنمط المحادثة
  • يظهر زر الفقاعة إذا تم تنفيذه
  • الدوال المخصّصة للمحادثات متوفّرة بشكل مضمّن

إذا لم يستوفِ الإشعار هذه المتطلبات، تستخدم المنصة خيارات احتياطية لتنسيق الإشعار. إذا كان الإشعار يستوفي متطلبات أي من الحالتين الاحتياطيتين، يتم عرض الإشعار في مساحة المحادثة بتنسيق خاص. إذا لم يكن الإشعار مؤهلاً لأي من خياري الاحتياط، فلن يتم عرضه في مساحة المحادثة.

الخيار الاحتياطي: في حال استخدام MessagingStyle بدون توفير اختصار

إذا كان التطبيق يستهدف الإصدار 10 من نظام التشغيل Android أو إصدارًا أقدم وكان الإشعار يستخدم MessagingStyle ولكنّه لا يربط الرسالة باختصار، سيظهر الإشعار في مساحة المحادثة بالسلوك التالي:

  • يتم عرض الإشعار بنمط المحادثة
  • عدم توفّر زر الفقاعة
  • لا يتم تقديم أي وظائف خاصة بالمحادثة بشكل مضمّن

الخيار الاحتياطي: في حال عدم استخدام MessagingStyle، ولكن التطبيق هو تطبيق مراسلة معروف

إذا لم يستخدم الإشعار MessagingStyle ولكن تم التعرّف على التطبيق من خلال المنصة كتطبيق مراسلة، وتم ضبط مَعلمة category للإشعار على msg، سيظهر الإشعار في مساحة المحادثة بالسلوك التالي:

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

الإرشادات والاستخدام والاختبار

يقدّم هذا القسم إرشادات عامة حول كيفية استخدام ميزات المحادثة واختبارها.

متى يجب استخدام المحادثات؟

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

لقد منحنا المستخدمين إمكانية إزالة محادثة معيّنة من قسم المحادثات إذا شعروا أنّها ليست في المكان المناسب.

أفضل الممارسات

لزيادة التفاعل وتسهيل تفاعل المستخدمين مع الأشخاص والمحادثات حول تطبيقك، ننصحك باتّباع أفضل الممارسات التالية.

  • لضمان ظهور المكالمات الفائتة في لوحة المحادثات ذات الأولوية وظهورها بشكل صحيح في التطبيق المصغّر للمحادثات، يجب تنسيق إشعارات المكالمات الفائتة على النحو التالي: conversations مع ضبط الفئة على CATEGORY_MISSED_CALL.
  • يجب توفير صور رمزية عالية الجودة (104 بكسل مستقل الكثافة) للمستخدمين، وإلا سيستخدم النظام الأحرف الأولى من اسم المستخدم، ما يقلل من جاذبية التجربة.
  • لا cancel إشعار المحادثة قبل أن يرى المستخدم الرسالة. ومن الأمثلة على ذلك إلغاء إشعار عند فتح التطبيق في طريقة عرض لا يمكن للمستخدم من خلالها رؤية الرسالة أو الرد عليها. إذا لم يتم منح المستخدم الفرصة لقراءة الرسالة أو الرد عليها، تتم إزالة الإشعار المُلغى والفقاعة المرتبطة به، مما يؤدي إلى فقدان سياق المحادثة.
  • قدِّم معرّف موارد منتظم (URI) من النوع data للبيانات الوصفية ذات الصلة بـ MIME والمرتبطة بالرسائل، ما يمنحك خيار توفير تجربة أكثر ثراءً في الإشعارات.
  • استخدِم واجهة برمجة التطبيقات Android 12 status لجعل التطبيقات المصغّرة للمحادثات أكثر تفاعلاً.
  • اتّبِع أفضل الممارسات التالية بشأن اختصارات المحادثات.
    • نشر اختصارات للمحادثات الواردة والصادرة داخل التطبيق التي لا ترسل إشعارات فورية يجب أن يكون للرسائل الواردة والصادرة للمحادثة نفسها معرّف الاختصار نفسه. استخدِم pushDynamicShortcut() لنشر الاختصارات وإعداد تقارير الاستخدام.
    • لتجنُّب الاقتصاص غير المقصود للأفاتار الخاص بالاختصار، قدِّم AdaptiveIconDrawable لرمز الاختصار. لمزيد من التفاصيل، يُرجى الاطّلاع على تقديم صور الاختصارات.
    • لمساعدة النظام في الترويج للاختصار، اتّبِع إرشادات الحصول على أفضل ترتيب. يتم ترتيب الاختصار في مساحات عرض مختلفة في النظام، بما في ذلك قائمة مشاركة البيانات من Android إذا كان اختصارًا للمشاركة.
    • تأكَّد من أنّ اختصارات المحادثات intents تؤدي مباشرةً إلى المحادثة المعنيّة.
    • استخدِم مكتبات التوافق لضبط اختصاراتك بسهولة على أنّها ذات صلة بـ conversation.

اختبار إشعارات المحادثات واختصاراتها

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

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

تظهر الاختصارات المضافة عند الضغط مع الاستمرار على مشغّل التطبيقات. تأكَّد من اختبار أن الاختصارات تنقلك إلى المكان الصحيح داخل تطبيقك.

تظهر اختصارات المشاركة المضافة في صف المشاركة المباشرة في صفحة المشاركة عند مشاركة محتوى يمكن لاختصار المشاركة تلقّيه.

التطبيقات المصغّرة للمحادثات

المحادثات المعروضة في التطبيقات المصغّرة للمحادثات
الشكل 1: المحادثات المعروضة في التطبيقات المصغّرة للمحادثات

في Android 12، تعتمد ميزة "التطبيق المصغّر للمحادثات" على ميزة الأشخاص والمحادثات التي تم تقديمها في Android 11 من خلال السماح للتطبيقات بعرض حالة المحادثة في التطبيقات المصغّرة للمحادثات.

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

التحقّق من أنّ تطبيقك يتيح استخدام التطبيقات المصغّرة للمحادثات

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

واجهة مستخدم أداة اختيار التطبيقات المصغّرة لإضافة تطبيق مصغّر جديد للمحادثات
الشكل 2: واجهة مستخدم أداة اختيار التطبيقات المصغّرة لإضافة تطبيق مصغّر جديد للمحادثات

أكمِل الخطوات التالية:

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