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

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

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

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

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

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

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

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

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

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

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

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

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

    conv_bubbles

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

    conv_notification

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

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

مطلوب من شركاء GMS تنفيذ ما يلي:

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

يُطلب من الشركاء الذين ينفذون المحادثات تنفيذ المحادثات المهمة أيضًا. ومع ذلك ، يمكن مواءمة تنفيذ المحادثات مع مفاهيم OEM ذات الطبيعة المماثلة. بشكل عام ، يتمتع الشركاء بحرية محاذاة قسم المحادثة مع واجهة مستخدم النظام الخاصة بهم. لا يتعين على الشريك تعديل أو تنفيذ كود / ملحقات 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. ترى التطبيقات التي تدعم واجهة برمجة تطبيقات المحادثة بالكامل إشعاراتها في القسم الجديد ، ويمكنها تخصيص تلك الإشعارات عن طريق المحادثة بدلاً من قناة NotificationChannel العامة.

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

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

  • اختبارات CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • اختبارات CTS Verifier.

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

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

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

conv_widgets

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

تعمل ميزة أداة المحادثة في 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. يمكن للمستخدمين تغيير حجم الأدوات ويمكن للأدوات تغيير أحجامها بناءً على المشغل الحالي الخاص بهم. يجب أن تعمل تخطيطات عناصر واجهة المستخدم الخاصة بك بشكل جيد مع أحجام المشغل المختلفة على الأجهزة المختلفة وعلى تغيير حجم الأداة.

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

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

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