إخطارات المحادثة والحاجيات

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

بناءً على ميزات Android 11 هذه، يقدم Android 12 ميزتين جديدتين للمحادثة:

  • تتيح ميزة المحادثات الأخيرة في الإعدادات للمستخدمين تخصيص سلوك الإشعارات للمحادثات الأخيرة دون انتظار إشعار.

  • تتيح ميزة Conversation Widget للمستخدمين فتح الدردشات بسهولة على الشاشة الرئيسية، مما يوفر عرضًا سريعًا للمحادثات الأخيرة.

يصف هذا المستند جوانب التنفيذ والتخصيص والتحقق من صحة إشعارات المحادثة وعناصر واجهة المستخدم.

نظرة عامة على إشعارات المحادثة

يقدم Android 11 نظامًا بدائيًا جديدًا، وهو المحادثة، والذي يتم تمثيله بواسطة كائن اختصار المشاركة الحالي (الذي تم طرحه مع Android 9).

يمكن استخدام المحادثات البدائية على النحو التالي:

  • لمشاركة بيانات المحادثات بين التطبيقات عبر النظام من خلال Sharesheet (الموجود بالفعل في Android 10).

  • لقيادة الفقاعات ( الاختصارات في Android 11). انظر الشكل 1 .

  • للمشاركة في مساحة المحادثة الجديدة أعلى مركز الإشعارات (المنفذ في Android 11). انظر الشكل 2 .

  • لإنشاء أدوات المحادثة (المطبقة في Android 12).

    conv_bubbles

    الشكل 1: يتم إطلاق الإشعار كفقاعة من درج الإشعارات

    conv_notification

    الشكل 2: مساحة المحادثة الموجودة أعلى مركز الإشعارات

إلى جانب الارتباط بالاختصار الذي يمثل المحادثة، يستخدم الإشعار أيضًا MessagingStyle لتضمين الرسالة الأخيرة من المحادثة في مساحة المحادثة.

يتعين على شركاء GMS تنفيذ ما يلي:

  • مساحة محادثات جديدة كقسم منفصل أعلى مركز الإشعارات.
  • نمط إشعار يسمح ويدعم نمط الفقاعة الخاص بالمحادثة.

يتعين على الشركاء الذين ينفذون المحادثات تنفيذ المحادثات المهمة أيضًا. ومع ذلك، يمكن أن يتوافق تنفيذ المحادثات مع مفاهيم تصنيع المعدات الأصلية ذات الطبيعة المشابهة. بشكل عام، يتمتع الشركاء بحرية مواءمة قسم المحادثة مع واجهة مستخدم النظام الخاصة بهم. لا يتعين على الشريك تعديل أو تنفيذ كود/ملحقات HAL/driver/kernel.

راجع التنفيذ المرجعي التالي في قسمي SystemUI وPeopleService في AOSP:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

تصديق

للتأكد من أن إصدار الميزة لديك يعمل على النحو المنشود، تحقق مما يلي:

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

  2. فقاعات المحادثة المحددة تعمل.

للتحقق من صحة التنفيذ، استخدم الاختبارات التالية في حزمة الإشعارات:

  • اختبارات سي تي إس.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • اختبارات التحقق من CTS.

    cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
    
    

نظرة عامة على أدوات المحادثة

في Android 12، تعتمد ميزة Conversation Widget على تمثيلات المحادثة التي تم إنشاؤها في Android 11 (كما هو موضح في القسم السابق) من خلال السماح للتطبيقات بتوفير الحالة لتلك المحادثات التي يتم عرضها في Conversation Widgets.

conv_widgets

الشكل 3: المحادثات المعروضة في أدوات المحادثة

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

يجب على الشريك تنفيذ ما يلي:

  1. القطعة المقدمة من SystemUI.
  2. تدفق لإضافة هذه الأدوات من شاشة اختيار الأدوات.
  3. دعم لتغيير حجم القطعة على النحو التالي:

كن على دراية بالتبعيات التالية عند تنفيذ أدوات المحادثة:

  • لا يتعين على الشريك تعديل أو تنفيذ كود HAL/driver/kernel.
  • يتم استخدام واجهة برمجة تطبيقات الحالة، التي تسمح للتطبيقات بإضافة معلومات الحالة أو التوفر إلى المحادثة والأداة المرتبطة بها، للتنفيذ.
  • العملية هي نفسها في كل من تطبيقات الأجهزة الجديدة وتنفيذ الترقية.
  • تعتمد ميزة أدوات المحادثة على ميزة جديدة يتم إطلاقها في Android 12، والتي تقوم بتخزين المحادثات التي تمت مشاهدتها مؤخرًا مؤقتًا (من الإشعارات، على سبيل المثال). تسمح هذه الميزة الأخيرة بتوسيع قائمة المحادثات التي يمكن للمستخدم إضافتها إلى شاشته الرئيسية.

راجع التنفيذ المرجعي التالي في ملفات SystemUI وLauncher3:

frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/

التخصيص

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

تصديق

للتأكد من أن إصدار الميزة لديك يعمل على النحو المنشود، تحقق مما يلي:

  1. عند الضغط لفترة طويلة على Launcher، يمكن إضافة أداة محادثة جديدة للمحادثة من خلال منتقي الأدوات. انظر الشكل 4 للتعرف على واجهة مستخدم منتقي الأدوات:

    widget_picker

    الشكل 4: واجهة مستخدم منتقي الأدوات لإضافة أداة محادثة جديدة

  2. عند إرسال إشعارات إلى الجهاز من المحادثة المحددة، يتم تحديث الأداة لتعكس تلك الإشعارات.

  3. عند تطبيق الحالات على تلك المحادثة باستخدام ConversationStatus API، تعكس الأداة تلك الحالات.

  4. يمكن للمستخدمين تغيير حجم عناصر واجهة المستخدم ويمكن لعناصر واجهة المستخدم تغيير أحجامها بناءً على المشغل الحالي الخاص بهم. يجب أن تعمل تخطيطات عناصر واجهة المستخدم الخاصة بك بشكل جيد مع أحجام Launcher المختلفة على الأجهزة المختلفة وعند تغيير حجم الأداة.

للتحقق من صحة التنفيذ، استخدم الاختبارات التالية في حزمة الإشعارات:

  • اختبارات CTS (PeopleManagerTest) لأسطح API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • الاختبارات اليدوية لمتطلبات GMS - المحادثات.