اعلان‌ها و ویجت‌های مکالمه

اندروید ۱۱ پشتیبانی از سفارشی‌سازی رفتار و قرارگیری اعلان‌های مکالمه در نوار اعلان‌ها را بر اساس اولویت و سطح هشدار اضافه می‌کند و به این ترتیب می‌توان مکالمات را به عنوان مهم علامت‌گذاری کرد و حباب‌های مخصوص مکالمه را در فضای مکالمه راه‌اندازی کرد.

با تکیه بر این ویژگی‌های اندروید ۱۱، اندروید ۱۲ دو ویژگی جدید مکالمه ارائه می‌دهد:

  • ویژگی گفتگوهای اخیر در تنظیمات، کاربران را قادر می‌سازد تا بدون انتظار برای دریافت اعلان، رفتار اعلان‌ها را برای گفتگوهای اخیر سفارشی کنند.

  • قابلیت ابزارک مکالمه به کاربران این امکان را می‌دهد که به راحتی چت‌ها را در صفحه اصلی باز کنند و نمای سریعی از مکالمات اخیر ارائه دهند.

این سند جنبه‌های پیاده‌سازی، سفارشی‌سازی و اعتبارسنجی اعلان‌ها و ابزارک‌های گفتگو را شرح می‌دهد.

نمای کلی اعلان‌های مکالمه

اندروید ۱۱ یک سیستم اولیه جدید به نام Conversation (مکالمه) را معرفی می‌کند که توسط شیء میانبر اشتراک‌گذاری موجود (که با اندروید ۹ عرضه شد) نمایش داده می‌شود.

از Conversations می‌توان به صورت زیر استفاده کرد:

  • برای اشتراک‌گذاری داده‌های مکالمات بین برنامه‌ها در سراسر سیستم از طریق Sharesheet (که قبلاً در اندروید ۱۰ وجود داشت).

  • برای هدایت حباب‌ها ( میانبرها در اندروید ۱۱). به شکل ۱ مراجعه کنید.

  • برای شرکت در فضای مکالمه جدید در بالای پنل اعلان‌ها (که در اندروید ۱۱ پیاده‌سازی شده است). به شکل ۲ مراجعه کنید.

  • برای ایجاد ابزارک‌های مکالمه (که در اندروید ۱۲ پیاده‌سازی شده است).

    conv_bubbles

    شکل ۱: اعلان به صورت حباب از کشوی اعلان‌ها اجرا می‌شود

    conv_notification

    شکل ۲: فضای مکالمه واقع در بالای پنل اعلان‌ها

علاوه بر پیوند به میانبری که نشان‌دهنده‌ی مکالمه است، اعلان از MessagingStyle برای گنجاندن آخرین پیام مکالمه در فضای مکالمه نیز استفاده می‌کند.

شرکای GMS ملزم به اجرای موارد زیر هستند:

  • یک فضای جدید برای گفتگوها به عنوان یک بخش جداگانه در بالای پنل اعلان‌ها.
  • یک سبک اعلان که الگوی حبابی مخصوص مکالمه را مجاز و پشتیبانی می‌کند.

شرکایی که مکالمات را پیاده‌سازی می‌کنند، ملزم به پیاده‌سازی مکالمات مهم نیز هستند. با این حال، پیاده‌سازی مکالمات می‌تواند با مفاهیم OEM با ماهیت مشابه همسو شود. در مجموع، شرکا این آزادی را دارند که بخش مکالمه را با رابط کاربری سیستم خاص خود همسو کنند. شریک مجبور نیست کد/افزونه‌های HAL/درایور/هسته را تغییر دهد یا پیاده‌سازی کند.

پیاده‌سازی مرجع زیر را در بخش‌های 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. برنامه‌هایی که به طور کامل از API مکالمه پشتیبانی می‌کنند، اعلان‌های خود را در بخش جدید مشاهده می‌کنند و می‌توانند آن اعلان‌ها را به جای کانال اعلان عمومی، بر اساس مکالمه سفارشی کنند.

  2. حباب‌های مخصوص مکالمه فعال هستند.

برای اعتبارسنجی پیاده‌سازی، از تست‌های زیر در بسته اعلان استفاده کنید:

  • آزمایش‌های سی تی اس

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • آزمایش‌های تأییدکننده CTS.

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

مرور کلی ابزارک‌های مکالمه

در اندروید ۱۲، ویژگی ابزارک مکالمه بر اساس نمایش‌های مکالمه ایجاد شده در اندروید ۱۱ (همانطور که در بخش قبلی توضیح داده شد) ساخته شده است و به برنامه‌ها اجازه می‌دهد تا برای مکالماتی که در ابزارک‌های مکالمه نمایش داده می‌شوند، وضعیت ارائه دهند.

conv_widgets

شکل ۳: گفتگوهای نمایش داده شده در ابزارک‌های گفتگو

ویژگی ویجت مکالمه در اندروید ۱۲ با فراهم کردن امکان باز کردن آسان چت‌ها در صفحه اصلی، ارتباط را ارتقا می‌دهد. این ویجت‌ها میانبرهای پیشرفته‌ای هستند که به کاربران امکان می‌دهند ضمن نمایش خلاصه‌هایی از وضعیت مکالمه، به طور مؤثر به مکالمات خود بازگردند.

شریک باید موارد زیر را اجرا کند:

  1. ویجتی که توسط SystemUI ارائه شده است.
  2. روندی برای اضافه کردن این ویجت‌ها از صفحه انتخاب ویجت.
  3. پشتیبانی از تغییر اندازه ویجت به شرح زیر:

هنگام پیاده‌سازی ابزارک‌های مکالمه، از وابستگی‌های زیر آگاه باشید:

  • شریک لازم نیست کد HAL/درایور/هسته را تغییر دهد یا پیاده‌سازی کند.
  • API وضعیت، که به برنامه‌ها اجازه می‌دهد اطلاعات وضعیت یا در دسترس بودن را به یک مکالمه و ویجت مرتبط اضافه کنند، برای پیاده‌سازی استفاده می‌شود.
  • این فرآیند هم در پیاده‌سازی‌های جدید دستگاه و هم در پیاده‌سازی ارتقا یافته یکسان است.
  • ویژگی ابزارک‌های مکالمه به قابلیت جدیدی که در اندروید ۱۲ عرضه می‌شود وابسته است که مکالمات اخیراً مشاهده شده (مثلاً از اعلان‌ها) را ذخیره می‌کند. این ویژگی اخیر امکان گسترش فهرست مکالماتی را که کاربر می‌تواند به صفحه اصلی خود اضافه کند، فراهم می‌کند.

پیاده‌سازی مرجع زیر را در فایل‌های 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. با لمس طولانی مدت لانچر، می‌توان از طریق انتخابگر ویجت، یک ابزارک مکالمه جدید برای یک مکالمه اضافه کرد. برای رابط کاربری انتخابگر ویجت، به شکل ۴ مراجعه کنید:

    widget_picker

    شکل ۴: رابط کاربری انتخابگر ابزارک برای افزودن ابزارک مکالمه جدید

  2. با ارسال اعلان‌ها به دستگاه از مکالمه انتخاب‌شده، ویجت به‌روزرسانی می‌شود تا آن اعلان‌ها را منعکس کند.

  3. با اعمال وضعیت‌ها به آن مکالمه با استفاده از API ConversationStatus ، ویجت آن وضعیت‌ها را منعکس می‌کند.

  4. کاربران می‌توانند اندازه ویجت‌ها را تغییر دهند و ویجت‌ها می‌توانند اندازه‌های خود را بر اساس لانچر فعلی خود تغییر دهند. طرح‌بندی ویجت شما باید با اندازه‌های مختلف لانچر در دستگاه‌های مختلف و هنگام تغییر اندازه ویجت به خوبی کار کند.

برای اعتبارسنجی پیاده‌سازی، از تست‌های زیر در بسته اعلان استفاده کنید:

  • تست‌های CTS (تست مدیریت افراد) برای سطوح API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • تست‌های دستی برای الزامات GMS - مکالمات.