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

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

تم طرح عدد من الميزات في Android 11 لدعم مبادرة "المستخدمون والمحادثات".

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

استخدام LocusIdCompat

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

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

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

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

  • يظهر الإشعار بأسلوب المحادثة
  • يتم توفير زر الفقاعة ، إذا تم تنفيذه
  • يتم توفير الوظائف الخاصة بالمحادثة ضِمن السطر

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

الرجوع إلى الإعدادات التلقائية: إذا تم استخدام MessagingStyle ولكن لم يتم توفير أي اختصار

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

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

الرجوع إلى الإعدادات التلقائية: إذا لم يتم استخدام MessagingStyle، ولكن التطبيق هو تطبيق مراسلة معروف

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

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

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

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

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

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

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

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

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

  • لضمان ظهور المكالمات الفائتة في لوحة المحادثات ذات الأولوية وظهورها بشكل صحيح في أداة الإحالات الناجحة، يجب تنسيق إشعارات المكالمات الفائتة على أنّها conversations مع ضبط الفئة على CATEGORY_MISSED_CALL.
  • يجب توفير صور رمزية عالية الجودة (104dp) للمستخدمين، وإلا سيستخدم النظام الأحرف الأولى من اسم المستخدم، ما يقلّل من التفاعل.
  • يجب عدم cancel إشعار المحادثة قبل أن يرى المستخدم الرسالة. أحد الأمثلة على ذلك هو إلغاء إشعار عند فتح التطبيق في طريقة عرض لا يمكن للمستخدم فيها رؤية الرسالة أو الرد عليها. إذا لم يتم منح المستخدم فرصة قراءة الرسالة أو الرد عليها، تتم إزالة الإشعار الملغى والفقاعة المرتبطة به، ما يؤدي إلى فقدان سياق المحادثة.
  • يجب توفير معرّف موارد منتظم 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.