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

‫Android 11 از سفارشی‌سازی رفتار و جایگاه «اعلان‌های مکالمه» در سایه «اعلان‌ها» براساس اولویت و سطح هشدار پشتیبانی می‌کند و به «مکالمه‌ها» اجازه می‌دهد به‌عنوان «مهم» علامت‌گذاری شوند و حباب‌های مختص مکالمه در فضای «مکالمه» راه‌اندازی شوند.

‫Android 12 با بهره‌گیری از این ویژگی‌های Android 11، دو ویژگی جدید «مکالمه» ارائه می‌دهد:

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

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

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

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

‫Android 11 عنصر جدیدی در سیستم معرفی می‌کند، «مکالمه»، که با شیء میان‌بر هم‌رسانی موجود (که با Android 9 عرضه شد) نشان داده می‌شود.

از عنصر پایه «مکالمه‌ها» می‌توان به‌صورت زیر استفاده کرد:

  • برای هم‌رسانی داده‌های «مکالمه‌ها» بین برنامه‌ها در سراسر سیستم ازطریق برگ هم‌رسانی (ازقبل در Android 10).

  • برای رانندگی حباب‌ها(میان‌برها در Android 11). شکل ۱ را ببینید.

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

  • برای ایجاد ابزاره‌های مکالمه (پیاده‌سازی‌شده در Android 12).

    حباب‌های مکالمه

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

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

  2. حبابک‌های مخصوص مکالمه کار می‌کند.

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

  • آزمایش‌های CTS.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • آزمایش‌های «درستی‌سنج CTS».

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

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

در Android 12، ویژگی «ابزاره مکالمه» با استفاده از نمایش‌های «مکالمه» ایجادشده در Android 11 (همان‌طور که در بخش قبلی توضیح داده شد) ساخته می‌شود و به برنامه‌ها امکان می‌دهد وضعیت این مکالمه‌ها را که در «ابزاره‌های مکالمه» نمایش داده می‌شوند ارائه دهند.

conv_widgets

شکل ۳: مکالمه‌های نمایش‌داده‌شده در «ابزارک‌های مکالمه»

ویژگی «ابزاره مکالمه» در Android 12 با امکان باز کردن آسان گپ‌ها در صفحه اصلی، ارتباط را تقویت می‌کند. ابزارک‌ها میان‌برهای بهبودیافته‌ای هستند که به کاربران امکان می‌دهند به‌طور کارآمد به مکالمه‌هایشان برگردند و درعین‌حال گزیده‌هایی از وضعیت مکالمه‌ها را ببینند.

شریک باید موارد زیر را پیاده‌سازی کند:

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

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

  • شریک تجاری نیازی به اصلاح یا پیاده‌سازی کد HAL/درایور/هسته ندارد.
  • برای پیاده‌سازی از «میانای برنامه‌سازی کاربردی وضعیت» استفاده می‌شود که به برنامه‌ها اجازه می‌دهد اطلاعات وضعیت یا دردسترس بودن را به مکالمه و ابزاره مرتبط اضافه کنند.
  • این فرایند در هر دو پیاده‌سازی دستگاه جدید و پیاده‌سازی ارتقا یکسان است.
  • ویژگی «ابزارک‌های مکالمه» به ویژگی جدیدی که در 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/

سفارشی‌سازی

ویژگی «ابزاره‌های مکالمه» را نمی‌توان روشن یا خاموش کرد. بااین‌حال، شریک می‌تواند چیدمان‌های قالب‌های ابزاره را تغییر دهد، به‌شرطی که الزامات «خدمات تلفن همراه Google» برآورده شود.

اعتبارسنجی

برای اطمینان از اینکه نسخه شما از این ویژگی طبق انتظار کار می‌کند، موارد زیر را تأیید کنید:

  1. با فشار طولانی روی «راه‌انداز»، «ابزاره مکالمه» جدیدی برای «مکالمه» می‌توان ازطریق انتخاب‌گر ابزاره اضافه کرد. واسط کاربر انتخاب‌گر ابزاره را در شکل ۴ ببینید:

    انتخابگر ابزاره

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

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

  3. وقتی وضعیت‌ها بااستفاده از ConversationStatus میانای برنامه‌سازی کاربردی روی آن «مکالمه» اعمال می‌شود، ابزارک آن وضعیت‌ها را منعکس می‌کند.

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

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

  • آزمایش‌های CTS (PeopleManagerTest) برای سطوح API.

    cts/tests/app/src/android/app/cts/NotificationManagerTest.java
    
  • آزمایش‌های دستی برای الزام «سرویس‌های تلفن همراه Google» - «مکالمه‌ها».