یک اعلان به روز رسانی زنده ایجاد کنید

این سیستم اعلان‌های به‌روزرسانی زنده را تبلیغ می‌کند. اعلان‌های تبلیغاتی بیشتر در سطوح سیستم، از جمله در بالای کشوی اعلان‌ها و صفحه قفل، و به‌عنوان یک تراشه در نوار وضعیت ظاهر می‌شوند.

شکل 1. نمونه ای از اعلان به روز رسانی زنده.

کارت‌های اعلان تبلیغاتی دارای ویژگی‌های ظاهری زیر هستند:

  • به طور پیش فرض گسترش یافته است
  • جمع نشدنی

اعلان شما باید شرایط زیر را داشته باشد تا واجد شرایط به‌روزرسانی زنده باشد:

  • باید استاندارد/بدون سبک، BigTextStyle ، CallStyle یا ProgressStyle باشد.
  • باید مجوز غیر زمان اجرا زیر را در مانیفست اندروید android.permission.POST_PROMOTED_NOTIFICATIONS درخواست کنید.
  • باید تبلیغ را با استفاده از EXTRA_REQUEST_PROMOTED_ONGOING یا NotificationCompat.Builder#requestPromotedOngoing درخواست کنید.
  • باید ongoing باشد (تنظیم FLAG_ONGOING_EVENT ).
  • باید مجموعه contentTitle داشته باشد.
  • نباید هیچ مجموعه customContentView داشته باشد (بدون RemoteViews ).
  • نباید خلاصه گروهی باشد که از setGroupSummar y استفاده می کند.
  • کانال اعلان نباید IMPORTANCE_MIN داشته باشد.

ویژگی های تبلیغاتی

API های زیر به شما کمک می کنند تا تعیین کنید آیا سیستم اعلان شما را تبلیغ می کند یا خیر:

  • Notification.FLAG_PROMOTED_ONGOING نشان می‌دهد که آیا اعلان تبلیغ می‌شود یا خیر.
  • Notification.hasPromotableCharacteristics() تایید می کند که آیا سیستم می تواند اعلان را ارتقا دهد یا خیر. این روش در نظر نمی‌گیرد که آیا کاربر به‌روزرسانی‌های زنده را برای برنامه در تنظیمات غیرفعال کرده است یا خیر.
  • NotificationManager.canPostPromotedNotifications() بررسی می کند که آیا برنامه شما می تواند یک اعلان تبلیغاتی را ارسال کند، مثلاً اگر کاربر آن را در تنظیمات فعال یا غیرفعال کرده باشد.
  • Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS اقدامی است که به برنامه‌ها اجازه می‌دهد تا کاربران را به تنظیمات بفرستند تا این ویژگی فعال شود.

معیارهای استفاده

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

در حال انجام است

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

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

  • کاربردهای مناسب: ناوبری فعال، تماس های تلفنی مداوم، ردیابی اشتراک اشتراک فعال و ردیابی فعال تحویل غذا.
  • استفاده های نامناسب: تبلیغات، تبلیغات، پیام های چت، هشدارها، رویدادهای تقویم آتی و دسترسی سریع به ویژگی های برنامه.

توسط کاربر آغاز شده است

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

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

حساس به زمان

یک به‌روزرسانی زنده را فقط در صورتی نشان دهید که نیاز به توجه کاربر در طول فعالیت داشته باشد. یکی از موارد استفاده کلیدی برای به‌روزرسانی‌های زنده، نظارت است، زمانی که کاربر از نگاه کردن به به‌روزرسانی زنده برای زیر نظر گرفتن وضعیت در حال تحول فعالیت، سود قابل توجهی می‌برد.

به‌روزرسانی زنده اغلب برای فعالیت‌هایی مناسب است که بین به‌روزرسانی‌های زنده و اعلان‌های عادی تغییر می‌کنند. به عنوان مثال، نشان دادن اعلان کارت پرواز چند ساعت قبل از پرواز کاربر مناسب است، اما این اعلان باید تنها زمانی به‌روزرسانی زنده شود که کاربر نیاز مبرمی داشته باشد، مانند زمانی که به فرودگاه یا محل برگزاری می‌آیند یا زمانی که پرواز شروع شده است. در مقابل، به‌روزرسانی زنده برای ردیابی یک بسته مناسب نیست، زیرا کاربر نیازی به نظارت مداوم بر این موضوع ندارد.

تراشه های وضعیت

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

تراشه وضعیت با نماد
شکل 2. حالت نامشخص نماد کوچک Notification.Builder#setSmallIcon نشان می دهد.
تراشه وضعیت با گذشت زمان
شکل 3. از Notification.Builder#setShortCriticalText برای نمایش زمان مطلق استفاده کنید.
تراشه وضعیت با اطلاعات
شکل 4. از Notification.Builder#setShortCriticalText برای انتقال اطلاعات حیاتی استفاده کنید.

زمانی که زمان

زمانی که زمان شمارش معکوس را برای طول عمر اعلان آغاز می کند، مگر اینکه اعلان رد یا به روز شود.

  • زمانی که زمان حداقل 2 دقیقه در آینده باشد: اگر زمان فعلی 10:05 صبح و زمانی که زمان روی 10:10 صبح تنظیم شده باشد، تراشه می گوید "5min".
  • اگر زمان زمانی بیش از 1 دقیقه در گذشته باشد، اعلان نشان داده نمی شود.
  • اگر نمی‌خواهید اعلان نمایش داده شده در سایه زمان داشته باشد، از setShowWhen تا FALSE استفاده کنید.

ظاهر تراشه وضعیت

تراشه وضعیت همیشه شامل یک نماد است و به صورت اختیاری شامل متن است. حداکثر عرض این تراشه 96dp است. متن را بر اساس معیارهای زیر نشان دهید:

  • اگر کمتر از 7 کاراکتر است، کل متن را نشان دهید.
  • اگر کمتر از نیمی از متن نمایش داده شد، فقط نماد را نشان دهید.
  • اگر بیش از نیمی از متن نمایش داده شد، تا حد امکان متن را نشان دهید.

اخراج

کاربران می توانند نمایان بودن اعلان ها را در سایه اعلان کنترل کنند. ارسال به‌روزرسانی‌های زنده ناخواسته ممکن است باعث شود کاربران مجوز ارسال یک برنامه را لغو کنند.

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