سابقه اعلان

سابقه اعلان‌ها صفحه‌نمایشی در دستگاه است که در آن کاربران می‌توانند اعلان‌های به‌تعویق‌افتاده، چند اعلان اخیراً بسته شده، و سابقه اعلان‌های روز گذشته را ببینند. این ویژگی اختیاری است و سازندگان اصلی محصول می‌توانند آن را پیاده‌سازی کنند. این امر تأثیری بر SoC یا شرکت‌های مخابراتی ندارد.

سابقه اعلان برای رسیدگی به این موارد استفاده درنظر گرفته شده است:

  • بستن تصادفی: اعلانی را به‌طور تصادفی بسته‌اید و می‌خواهید نگاهی سریع به محتوای آن بیندازید.
  • اعلان‌های به‌تعویق‌افتاده: اعلانی را به‌تعویق انداخته‌اید اما می‌خواهید آن را قبل‌از پایان دوره تعویق ببینید.
  • عیب‌یابی: فکر می‌کنید اعلانی را ازدست داده‌اید. سابقه اعلان را بررسی می‌کنید تا ببینید اعلانی وجود داشته است یا نه و آیا لرزیده است یا نه. اگر آن را پیدا نکردید، بررسی می‌کنید که آیا اعلانی مسدود شده است یا نه. می‌توانید تنظیمات اعلان را در سابقه اعلان تغییر دهید.
  • مدیریت اعلان: می‌خواهید نحوه اعلان‌های مزاحم را تغییر دهید، بنابراین از سابقه اعلان استفاده می‌کنید زیرا بخش واقعی از بار اعلان روزانه را ارائه می‌دهد که درک دامنه تغییرات شما در هشدار، مسدود کردن، و غیره را آسان می‌کند.

پیاده‌سازی‌های مرجع این مؤلفه‌های «سابقه اعلان» دردسترس است:

  • تنظیمات: packages/apps/Settings/src/com/android/settings/notification/history
  • سرور سیستم: com.android.server.notification.NotificationHistory.*.java

این‌ها مراحل اصلی پیاده‌سازی «سابقه اعلان» هستند:

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

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

می‌توانید تعداد روزهایی را که اعلان‌ها در «سابقه اعلان» نشان داده می‌شوند بااستفاده از ثابت HISTORY_RETENTION_DAYS در کلاس NotificationHistoryDatabase تنظیم کنید. همچنین می‌توانید بخش‌هایی را که در صفحه «سابقه اعلان» نشان داده می‌شود و نحوه ارائه داده‌ها را تغییر دهید.

دوره پیش‌فرض نگهداری سابقه اعلان ۲۴ ساعت است.

این آزمون‌های واحد برای هر عنصر کد ارائه شده است:

  • آزمایش‌های واحد سرور سیستم: FrameworksUiServicesTests
  • آزمون‌های واحد تنظیمات: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"