اطلاعیه ها

اعلان‌ها اطلاعات مختصر، به‌موقع و مرتبط با برنامه شما را زمانی که از آن استفاده نمی‌کنید، ارائه می‌کنند.

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

  1. آناتومی یک اعلان را درک کنید.
  2. نوع اعلان را برای مورد استفاده خود انتخاب کنید.
  3. دسته اعلان را تنظیم کنید که با نوع اعلانی که انتخاب کرده اید همسو باشد.

غذای آماده

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

آناتومی یک اعلان

اعلان ها به گونه ای طراحی شده اند که اسکن و استفاده از مهم ترین عناصر اعلان را آسان کنند. این عناصر عبارتند از:

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

سرصفحه و محتوای اعلان

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

شکل 2: ناحیه سرصفحه اعلان

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

2 متن سرصفحه: عنوان مختصری برای اعلان یا منبع، مانند نام حساب برای کاربران. محتوا برجسته ترین عنصر اعلان است.

3 مهر زمانی: نشان می دهد چه زمانی اعلان ارسال شده است، مانند زمان تماس از دست رفته.

4 نشانگر گسترش: نشان می دهد که اعلان در حالت جمع شده یا باز شده است.

5 متن محتوا: اطلاعات پشتیبانی.

6 نماد بزرگ (اختیاری): ممکن است یک تصویر اضافه شود تا اعلان را به روشی معنادار تقویت کند، مانند پیامی که شامل آواتار فرستنده است.

رنگ آیکون را اعمال کنید

با شروع اندروید 12 (سطح API 31)، سیستم رنگ آیکون را از رنگ اعلانی که در برنامه تنظیم کرده اید دریافت می کند. اگر برنامه رنگ را تنظیم نکند، از رنگ تم سیستم استفاده می کند. قبلا رنگش خاکستری بود.

شکل 3: رنگ آیکون برنامه استایل داده شده حاصل

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

قطعه زیر نحوه اعمال رنگ نماد را نشان می دهد.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

اقدامات اطلاع رسانی

شکل 4: منطقه اقدام اعلان

1 عملکرد دکمه متن

2 دکمه های عمل پر شده است

3 پاسخ پیشنهادی

4 فیلد متنی پاسخ

با شروع Android 7.0 (سطح API 24)، این سیستم اقداماتی را بدون نماد نشان می دهد تا متن بیشتری را در خود جای دهد. برای قرار دادن دستگاه‌ها و دستگاه‌های Android Wear دارای Android 6.0 (سطح API 23) و پایین‌تر، برنامه شما همچنان باید یک نماد ارائه کند.

نماهای گسترده

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

هنگامی که یک اعلان گسترش می یابد، می تواند حداکثر سه مورد از هر یک از انواع زیر را ارائه دهد:

  • پاسخ های پیشنهادی
  • اقدامات تاکید شده (دکمه های قرص شکل)
  • اقدامات متن استاندارد
شامل اقدامات متنی که رفتار ضربه زدن روی بدنه اعلان را تکرار می کند.
به کاربر فرصتی برای تعامل با اعلان بدهید. برنامه Google Clock یک تایمر در حال اجرا را نشان می‌دهد، اما به کاربر اجازه می‌دهد مستقیماً از اعلان یک دقیقه مکث کند یا یک دقیقه اضافه کند.

تایپ در اعلان ها را فعال کنید

کاربر را قادر می‌سازید تا با قرار دادن یک اقدام پاسخ، مستقیماً در یک اعلان تایپ کند. این برای تایپ مقدار کمی از متن، مانند پاسخ به یک پیام متنی یا نوشتن یک یادداشت کوتاه طراحی شده است.

برای تایپ طولانی تر، کاربران را به برنامه خود هدایت کنید تا فضای بیشتری برای مشاهده و ویرایش متن در اختیار آنها قرار دهید.

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

شکل 5: کاربری که مستقیماً در پیام‌های Android بدون ترک اعلان پس از ضربه زدن روی Reply پاسخ می‌دهد.

بسته به مورد استفاده خود نوع اعلان را انتخاب کنید

گوگل از الگوهای اعلان زیر در برنامه های اندروید خود استفاده می کند. این قالب ها را می توان تا حدی برای برنامه شما سفارشی کرد.

برای الگوهای اعلان، کیت رابط کاربری اندروید را در Figma بررسی کنید.

قالب استاندارد

الگوی استاندارد برای اکثر اعلان‌ها مناسب است و به متن مختصر، یک نماد بزرگ (در صورت وجود) و اقدامات اجازه می‌دهد.

شکل 6: الگوی اعلان استاندارد

قالب متن بزرگ

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

شکل 7: الگوی متن بزرگ، با نماد بزرگ گزینه

الگوی تصویر بزرگ

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

شکل 8: الگوی تصویر بزرگ

الگوی پیشرفت

الگوی پیشرفت برای فعالیت‌هایی طراحی شده است که توسط کاربر شروع می‌شود و تکمیل آنها زمان می‌برد. وقتی گسترش می‌یابد، اعلانی که از این الگو استفاده می‌کند، نوار پیشرفت را نشان می‌دهد و همچنین شامل یک کنش «لغو» است که به کاربر اجازه می‌دهد این فعالیت را خاتمه دهد. (فعالیت‌های غیرقابل لغو اعلان‌ها را تضمین نمی‌کنند.)

شکل 9: الگوی پیشرفت

قالب رسانه

قالب رسانه برای این طراحی شده است که به کاربر اجازه می دهد رسانه ای را که در حال حاضر از یک برنامه پخش می شود کنترل کند.

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

الگوی پیام رسانی

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

شکل 11: الگوی پیام رسانی

الگوی تماس

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

شکل 12: الگوی تماس

قالب به روز رسانی زنده

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

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

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

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

مجوزهای اعلان

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

یک استثنا در این مورد وجود دارد: از Android 13 (سطح API 33)، جلسات رسانه و برنامه‌هایی که تماس‌های تلفنی را مدیریت می‌کنند، از درخواست رضایت کاربر معاف هستند. اگر کاربر قبلاً اعلان‌ها را روشن کرده باشد، ممکن است برنامه‌های از قبل موجود نیز واجد شرایط باشند. جزئیات بیشتر را در معافیت ها ببینید.

ما قویاً توصیه می‌کنیم که برنامه شما گزینه‌های اعلان را در تنظیمات ارائه دهد تا به کاربران اجازه دهد تنظیمات برگزیده اعلان‌های خود را به‌روزرسانی کنند.

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

برای اعلان‌های غیر مستثنی، از کاربر بخواهید نشان دهد که آیا می‌خواهد در دریافت اعلان‌ها شرکت کند یا خیر. کاربرانی که صراحتاً دریافت اعلان‌ها را انتخاب می‌کنند، احتمالاً آنها را مفیدتر و کمتر مزاحم می‌دانند.

شکل 14: درخواست رضایت کاربر برای اعلان غیر معافیت

صبر کنید تا پیغام گفتگوی اعلان نشان داده شود:

  • مزایای ارائه شده توسط اعلان‌ها و نتیجه عدم اعطای مجوز برای اعلان‌ها را شرح دهید.
  • رابط کاربری متنی ارائه دهید، اعلان را به ویژگی‌های آن یا آنچه که بر آن تأثیر می‌گذارد مرتبط کنید. این رابط کاربری می‌تواند هر شکلی داشته باشد تا به بهترین شکل در برنامه شما یکپارچه شود: به عنوان مثال کارت در یک هزینه، صفحه پایین یا صفحه ورود. هر یک از اینها باید رد شود.
  • اگر کاربر رابط کاربری را رد کرده است، کادر گفتگوی مجوز اعلان نشان داده نشود.

با شروع اندروید 13، کاربران می توانند مجدداً مجوزهای اعلان را دریافت کنند.

اطلاعیه های مورد نیاز

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

شکل 15: نمونه ای از اعلان خدمات پیش زمینه برنامه تناسب اندام

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

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

چه زمانی از اعلان استفاده نکنید

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

  • برای تبلیغ متقابل یا تبلیغ یک محصول دیگر (این امر توسط فروشگاه Play اکیداً ممنوع است)
  • اگر کاربر هرگز برنامه شما را باز نکرده است
  • به عنوان روش اولیه ارتباط با کاربران
  • برای تشویق کاربر به بازگشت به یک برنامه، اما هیچ ارزش مستقیمی ارائه نمی کند (به عنوان مثال، "مدتی است شما را ندیده ام!")
  • برای درخواست رتبه بندی برنامه شما
  • برای عملیاتی که نیازی به مشارکت کاربر ندارد، مانند همگام سازی اطلاعات
  • برای اعلام وضعیت‌های خطا، برنامه ممکن است بدون تعامل کاربر بازیابی شود
  • برای پیام های تعطیلات یا تولد
تبریک تعطیلات یا تولد را در قالب اعلان ارسال کنید.
کاربر را در وسط یک کار قطع کنید و تنها به این منظور بپرسید که آیا کارتان را خوب انجام می دهید یا خیر.

رفتار

از رفتارهای اعلان زیر و نحوه رسیدگی به آنها در زمینه های خاص آگاه باشید.

ورود اعلان

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

  • صدا ایجاد کنید یا باعث لرزش گوشی شوید.
  • نمایش در نوار وضعیت با یک نماد؛ این معمولاً نماد برنامه شما است، اما اگر چندین نوع اعلان دارید، از نمادی استفاده کنید که هدف اعلان را نشان دهد.
  • به عنوان یک اعلان هدآپ نمایش داده می شود و به صفحه فعلی نگاه می کند تا توجه کاربر را جلب کند.

مثل همیشه، کاربر می‌تواند رفتارهای اعلان‌هایی را که تنظیم کرده‌اید تغییر دهد.

شکل 16: ورود اعلان

1 نشانگر اعلان در نوار وضعیت، نشان می دهد که یک اعلان در کشوی اعلان وجود دارد.

2 اعلان "نگاه کردن" به صفحه فعلی برای جلب توجه کاربر در میانه یک کار.

کشوی اعلان

کشوی اعلان‌ها در Android معمولاً اعلان‌ها را به ترتیب زمانی معکوس نشان می‌دهد، با تنظیمات تحت تأثیر شرایط زیر:

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

اعلان های قدیمی را مدیریت کنید

کشوی اعلان برای نشان دادن اطلاعات مربوط به لحظه فعلی به کاربران طراحی شده است. اگر اعلان قبلی قدیمی است، یعنی دیگر مرتبط نیست، آن را رد کنید تا کاربر آن را نبیند.

شکل 17: متن تازه وارد در بالای کشوی اعلان ظاهر می شود، با یک اعلان با اولویت پایین تر درباره عکسی که در پایین اضافه شده است.

اعلان های جدید با نشان نماد برنامه نشان داده شده است

در راه‌اندازهای پشتیبانی‌شده در دستگاه‌های دارای Android 8.0 (سطح API 26) و بالاتر، نمادهای برنامه یک نقطه اعلان نشان می‌دهند که نشان می‌دهد برنامه یک اعلان جدید مرتبط با آن دارد. این نقطه‌ها به‌طور پیش‌فرض در برنامه‌های راه‌اندازی که از آن‌ها پشتیبانی می‌کنند ظاهر می‌شوند و برنامه شما نیازی به انجام کاری ندارد. نشان دادن را نیز می توان غیرفعال و محدود کرد.

شکل 18: نقطه اعلان روی نماد برنامه، نشان می دهد که برنامه یک اعلان جدید مرتبط با آن دارد.

اقداماتی که کاربران می توانند با اعلان ها انجام دهند

اعلان ها می توانند کاربران را قادر به انجام هر یک از اقدامات زیر کنند:

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

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

  • نمای گسترده ای از اعلان را ببینید: یک نشانگر گسترش در هدر ظاهر می شود. کاربر می‌تواند روی نشانگر ضربه بزند یا بدنه اعلان را به سمت پایین بکشد تا آن را بزرگ کند.

    شکل 19: اعلان گسترده
  • رد کردن اعلان (در صورت مجاز): کاربر می تواند با کشیدن انگشت به چپ یا راست آن را رد کند.

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

  • به تعویق انداختن اعلان heads-up: کاربر می‌تواند روی یک اعلان heads-up انگشت خود را به سمت بالا بکشد، و هیچ اعلان دیگری از آن رویداد به مدت یک دقیقه مجاز نیست.

  • اعلان‌های مشابه را در آینده کنترل کنید: کاربران می‌توانند از طریق:

    • لمس کردن و نگه داشتن یک اعلان فردی
    • اعلان را به چپ یا راست بکشید و سپس روی نماد تنظیمات ضربه بزنید

کنترل‌های نمایش داده شده بسته به نسخه اندروید و اینکه آیا برنامه کانال‌هایی برای اعلان‌های خود دارد (شروع در Android 8.0) متفاوت است.

اعلان های متعدد را گروه بندی کنید

برای برنامه‌هایی که چندین نوتیفیکیشن از یک نوع تولید می‌کنند، اندروید گروه‌بندی اعلان‌ها را ارائه می‌کند تا کاربران را تحت تأثیر قرار ندهد.

برنامه شما می تواند اعلان های متعددی را طبق سلسله مراتب زیر ارائه دهد.

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

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

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

شکل 20: اعلان های گروه بندی شده جمع شده و نماها را گسترش داده اند.

تنظیمات

کانال ها

از Android 8.0 (سطح API 26)، همه اعلان‌ها باید به یک کانال اختصاص داده شوند. برای هر کانال، می‌توانید رفتار دیداری و شنیداری را که برای همه اعلان‌های آن کانال اعمال می‌شود، تنظیم کنید. کاربران می‌توانند این تنظیمات را تغییر دهند و تصمیم بگیرند که کدام کانال‌های اعلان از برنامه شما می‌تواند مزاحم یا قابل مشاهده باشد.

برای جزئیات در مورد نحوه اجرای این، به ایجاد و مدیریت کانال‌های اعلان مراجعه کنید.

اهمیت باید با در نظر گرفتن زمان و توجه کاربر انتخاب شود. هنگامی که یک اعلان غیر مهم به عنوان اضطراری پنهان می شود، می تواند زنگ هشدار غیر ضروری ایجاد کند.

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

دسته های از پیش تعریف شده

خواه از کانال ها استفاده می کنید یا نه، هر اعلان را به مناسب ترین دسته از پیش تعریف شده اختصاص دهید. اندروید ممکن است از این اطلاعات برای تصمیم گیری در مورد رتبه بندی و فیلتر کردن استفاده کند.

دسته بندی توضیحات
CATEGORY_CALL تماس ورودی (صوتی یا تصویری) یا درخواست ارتباط همزمان مشابه
CATEGORY_MESSAGE پیام مستقیم دریافتی (اس ام اس، پیام فوری و غیره)
CATEGORY_EMAIL پیام انبوه ناهمزمان (ایمیل)
CATEGORY_EVENT رویداد تقویم
CATEGORY_PROMO تبلیغ یا تبلیغ
CATEGORY_ALARM زنگ هشدار یا تایمر
CATEGORY_PROGRESS پیشرفت یک عملیات پس زمینه طولانی مدت
CATEGORY_SOCIAL به روز رسانی شبکه اجتماعی یا اشتراک گذاری
CATEGORY_ERROR خطا در عملکرد پس‌زمینه یا وضعیت احراز هویت
CATEGORY_TRANSPORT کنترل انتقال رسانه برای پخش
CATEGORY_SYSTEM به روز رسانی وضعیت سیستم یا دستگاه. برای استفاده از سیستم رزرو شده است.
CATEGORY_SERVICE نشانگر اجرای سرویس پس زمینه
CATEGORY_RECOMMENDATION یک توصیه خاص و به موقع برای یک چیز واحد. به عنوان مثال، یک برنامه خبری ممکن است داستان خبری را توصیه کند که کاربر ممکن است بخواهد در ادامه آن را بخواند.
CATEGORY_STATUS اطلاعات در حال انجام درباره دستگاه یا وضعیت متنی

اعلان های صفحه قفل

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

سطح حساسیت را برای محتوا در صفحه‌های قفل تنظیم کنید

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

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

در مثال زیر، اعلان‌های صفحه قفل برای برنامه‌های Gmail و Photos همه محتوا را پس از انتخاب کاربر برای نمایش این اطلاعات در صفحه قفل نشان می‌دهند.

شکل 21: صفحه قفل با سطوح حساسیت مختلف.

1 تمام محتوای اعلان در صفحه قفل نشان داده شده است

2 محتوای اعلان حساس در صفحه قفل پنهان شده است

سبک

متن واضح و مختصر

اندروید عناوین محتوا را به یک خط کوتاه می کند (حتی در صورت باز شدن).

عنوان محتوای خوب از دستورالعمل های زیر پیروی می کند:

  • از 30 کاراکتر تجاوز نمی کند
  • حاوی مهمترین اطلاعات
  • از متغیرها اجتناب می کند (مگر اینکه حاوی یک عدد یا رشته متن کوتاه باشند یا قبل از آن متن نوشته شده باشند)
  • نام برنامه را که از قبل در سرصفحه نمایش داده می شود، شامل نمی شود
نام برنامه را در عنوان محتوا نشان دهید، که با ناحیه سرصفحه اضافی است و از کاراکترهای موجود استفاده می کند.
مهمترین اطلاعات را در عنوان محتوا نشان دهید.

متن محتوای خوب از دستورالعمل های زیر پیروی می کند:

  • از تجاوز از حد 40 کاراکتر جلوگیری می کند
  • از تکرار آنچه در عنوان محتوا آمده است خودداری می کند

نماد بزرگ

از نماد بزرگ برای موارد استفاده استفاده کنید که در آن تصاویر به طور معناداری محتوای اعلان را تقویت می کند. چند نمونه عبارتند از:

  • ارتباطات از طرف شخص دیگر، مانند تصویر شخصی که پیامی را ارسال می کند
  • اگر منبع محتوا با برنامه ارسال کننده اعلان متفاوت باشد، مانند لوگوی کانال YouTube که کاربر در آن مشترک شده است.
  • نمادهای معنی دار در مورد اعلان، مانند نماد پیکان برای مسیرهای رانندگی

آیکون های بزرگ هنگام نشان دادن یک شخص باید دایره ای باشند، اما در بقیه موارد مربع باشند.

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

به روز رسانی نسخه اندروید

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

ملاحظات پلت فرم

بپوشید

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

،

اعلان‌ها اطلاعات مختصر، به‌موقع و مرتبط با برنامه شما را زمانی که از آن استفاده نمی‌کنید، ارائه می‌کنند.

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

  1. آناتومی یک اعلان را درک کنید.
  2. نوع اعلان را برای مورد استفاده خود انتخاب کنید.
  3. دسته اعلان را تنظیم کنید که با نوع اعلانی که انتخاب کرده اید همسو باشد.

غذای آماده

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

آناتومی یک اعلان

اعلان ها به گونه ای طراحی شده اند که اسکن و استفاده از مهم ترین عناصر اعلان را آسان کنند. این عناصر عبارتند از:

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

سرصفحه و محتوای اعلان

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

شکل 2: ناحیه سرصفحه اعلان

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

2 متن سرصفحه: عنوان مختصری برای اعلان یا منبع، مانند نام حساب برای کاربران. محتوا برجسته ترین عنصر اعلان است.

3 مهر زمانی: نشان می دهد چه زمانی اعلان ارسال شده است، مانند زمان تماس از دست رفته.

4 نشانگر گسترش: نشان می دهد که اعلان در حالت جمع شده یا باز شده است.

5 متن محتوا: اطلاعات پشتیبانی.

6 نماد بزرگ (اختیاری): ممکن است یک تصویر اضافه شود تا اعلان را به روشی معنادار تقویت کند، مانند پیامی که شامل آواتار فرستنده است.

رنگ آیکون را اعمال کنید

با شروع اندروید 12 (سطح API 31)، سیستم رنگ آیکون را از رنگ اعلانی که در برنامه تنظیم کرده اید دریافت می کند. اگر برنامه رنگ را تنظیم نکند، از رنگ تم سیستم استفاده می کند. قبلا رنگش خاکستری بود.

شکل 3: رنگ آیکون برنامه استایل داده شده حاصل

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

قطعه زیر نحوه اعمال رنگ نماد را نشان می دهد.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

اقدامات اطلاع رسانی

شکل 4: منطقه اقدام اعلان

1 عملکرد دکمه متن

2 دکمه های عمل پر شده است

3 پاسخ پیشنهادی

4 فیلد متنی پاسخ

با شروع Android 7.0 (سطح API 24)، این سیستم اقداماتی را بدون نماد نشان می دهد تا متن بیشتری را در خود جای دهد. برای قرار دادن دستگاه‌ها و دستگاه‌های Android Wear دارای Android 6.0 (سطح API 23) و پایین‌تر، برنامه شما همچنان باید یک نماد ارائه کند.

نماهای گسترده

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

هنگامی که یک اعلان گسترش می یابد، می تواند حداکثر سه مورد از هر یک از انواع زیر را ارائه دهد:

  • پاسخ های پیشنهادی
  • اقدامات تاکید شده (دکمه های قرص شکل)
  • اقدامات متن استاندارد
شامل اقدامات متنی که رفتار ضربه زدن روی بدنه اعلان را تکرار می کند.
به کاربر فرصتی برای تعامل با اعلان بدهید. برنامه Google Clock یک تایمر در حال اجرا را نشان می‌دهد، اما به کاربر اجازه می‌دهد مستقیماً از اعلان یک دقیقه مکث کند یا یک دقیقه اضافه کند.

تایپ در اعلان ها را فعال کنید

کاربر را قادر می‌سازید تا با قرار دادن یک اقدام پاسخ، مستقیماً در یک اعلان تایپ کند. این برای تایپ مقدار کمی از متن، مانند پاسخ به یک پیام متنی یا نوشتن یک یادداشت کوتاه طراحی شده است.

برای تایپ طولانی تر، کاربران را به برنامه خود هدایت کنید تا فضای بیشتری برای مشاهده و ویرایش متن در اختیار آنها قرار دهید.

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

شکل 5: کاربری که مستقیماً در پیام‌های Android بدون ترک اعلان پس از ضربه زدن روی Reply پاسخ می‌دهد.

بسته به مورد استفاده خود نوع اعلان را انتخاب کنید

گوگل از الگوهای اعلان زیر در برنامه های اندروید خود استفاده می کند. این قالب ها را می توان تا حدی برای برنامه شما سفارشی کرد.

برای الگوهای اعلان، کیت رابط کاربری اندروید را در Figma بررسی کنید.

قالب استاندارد

الگوی استاندارد برای اکثر اعلان‌ها مناسب است و به متن مختصر، یک نماد بزرگ (در صورت وجود) و اقدامات اجازه می‌دهد.

شکل 6: الگوی اعلان استاندارد

قالب متن بزرگ

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

شکل 7: الگوی متن بزرگ، با نماد بزرگ گزینه

الگوی تصویر بزرگ

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

شکل 8: الگوی تصویر بزرگ

الگوی پیشرفت

الگوی پیشرفت برای فعالیت‌هایی طراحی شده است که توسط کاربر شروع می‌شود و تکمیل آنها زمان می‌برد. وقتی گسترش می‌یابد، اعلانی که از این الگو استفاده می‌کند، نوار پیشرفت را نشان می‌دهد و همچنین شامل یک کنش «لغو» است که به کاربر اجازه می‌دهد این فعالیت را خاتمه دهد. (فعالیت‌های غیرقابل لغو اعلان‌ها را تضمین نمی‌کنند.)

شکل 9: الگوی پیشرفت

قالب رسانه ای

قالب رسانه برای این طراحی شده است که به کاربر اجازه می دهد رسانه ای را که در حال حاضر از یک برنامه پخش می شود کنترل کند.

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

الگوی پیام رسانی

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

شکل 11: الگوی پیام رسانی

الگوی تماس

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

شکل 12: الگوی تماس

قالب به روز رسانی زنده

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

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

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

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

مجوزهای اعلان

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

یک استثنا در این مورد وجود دارد: از Android 13 (سطح API 33)، جلسات رسانه و برنامه‌هایی که تماس‌های تلفنی را مدیریت می‌کنند، از درخواست رضایت کاربر معاف هستند. اگر کاربر قبلاً اعلان‌ها را روشن کرده باشد، ممکن است برنامه‌های از قبل موجود نیز واجد شرایط باشند. جزئیات بیشتر را در معافیت ها ببینید.

ما قویاً توصیه می‌کنیم که برنامه شما گزینه‌های اعلان را در تنظیمات ارائه دهد تا به کاربران اجازه دهد تنظیمات برگزیده اعلان‌های خود را به‌روزرسانی کنند.

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

برای اعلان‌های غیر مستثنی، از کاربر بخواهید نشان دهد که آیا می‌خواهد در دریافت اعلان‌ها شرکت کند یا خیر. کاربرانی که صریحاً تصمیم به دریافت اعلان ها می گیرند ، احتمالاً آنها را مفیدتر و مزاحم تر می دانند.

شکل 14: درخواست رضایت کاربر برای اعلان غیر معاف

صبر کنید تا گفتگوی اعلان را نشان دهید:

  • اعلان های مزایای ارائه شده و نتیجه عدم اعطای مجوز برای اعلان ها را شرح دهید.
  • UI متنی را ارائه دهید ، و این را با توجه به ویژگی های آن یا آنچه تأثیر می گذارد ، ارائه دهید. این رابط کاربری می تواند به هر شکلی برای ادغام بهترین در برنامه شما برسد: به عنوان مثال کارت در یک هزینه ، ورق پایین یا صفحه نمایش روی صفحه. هر یک از این موارد باید رد شود.
  • اگر کاربر UI را رد کرده است ، گفتگوی مجوز اعلان را نشان ندهید.

با شروع در Android 13 ، کاربران می توانند برای مجوزهای اطلاع رسانی مجدداً تهیه شوند.

اعلان های مورد نیاز

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

شکل 15: مثال اعلان سرویس پیش زمینه برنامه تناسب اندام

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

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

در صورت عدم استفاده از اعلان

از اعلان ها برای هر یک از موارد استفاده زیر استفاده نکنید:

  • برای تبلیغ متقابل یا تبلیغات محصول دیگری (این به شدت توسط فروشگاه بازی ممنوع است)
  • اگر کاربر هرگز برنامه شما را باز نکرده است
  • به عنوان روش اصلی ارتباط با کاربران
  • برای تشویق کاربر برای بازگشت به یک برنامه ، اما هیچ مقدار مستقیم ارائه نمی دهد (به عنوان مثال ، "مدتی شما را ندیده اید!")
  • برای درخواست برای ارزیابی برنامه خود
  • برای عملیاتی که نیازی به مشارکت کاربر ندارند ، مانند همگام سازی اطلاعات
  • برای اعلام خطا ، برنامه ممکن است بدون تعامل کاربر از آن بهبود یابد
  • برای پیام های تعطیلات یا تولد
تبریک تعطیلات یا تولد را در قالب اعلان ها ارسال کنید.
کاربر را در وسط یک کار قطع کنید و تنها با هدف پرسیدن اینکه آیا کار خوبی انجام داده اید یا خیر.

رفتار

از رفتارهای اعلان زیر و نحوه رسیدگی به آنها در زمینه های خاص آگاه باشید.

ورود اعلان

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

  • صدا ایجاد کنید یا باعث لرزش تلفن شوید.
  • نمایش در نوار وضعیت با یک نماد ؛ این به طور معمول نماد برنامه شما است ، اما اگر انواع مختلفی از اعلان ها را دارید ، از نمادی استفاده کنید که هدف اعلان را ضبط می کند.
  • به عنوان یک اعلان Heads-Up نمایش دهید و به صفحه فعلی نگاه کنید تا توجه کاربر را به خود جلب کند.

مثل همیشه ، کاربر می تواند رفتارهای اعلان را که تعیین کرده اید تغییر دهد.

شکل 16: ورود اعلان

1 شاخص اطلاع رسانی در نوار وضعیت ، نشان می دهد که در کشو اعلان اعلان وجود دارد.

2 اعلان "نگاه کردن" به صفحه فعلی برای جلب توجه کاربر در وسط یک کار.

کشو اعلان

کشو اعلان در اندروید به طور معمول اعلان ها را به ترتیب معکوس- همزمان نشان می دهد ، با تنظیمات تحت تأثیر شرایط زیر:

  • اولویت یا اهمیت اعلان برنامه اعلام شده برنامه
  • این که آیا این اعلان اخیراً کاربر را با صدا یا لرزش هشدار داده است
  • هر افرادی که به اعلان وصل شده اند و اینکه آیا آنها مخاطبین بازی شده اند
  • این که آیا این اعلان نشان دهنده یک فعالیت مهم در حال انجام است ، مانند یک تماس تلفنی در حال انجام یا پخش موسیقی
  • تغییرات ظاهر برخی از اعلان ها توسط سیستم عامل Android در بالا و پایین لیست با افزودن تأکید یا تأکید ، که به اسکن کاربر کمک می کند

اعلان های قدیمی را کنترل کنید

کشوی اعلان به گونه ای طراحی شده است که اطلاعاتی را که برای لحظه فعلی مرتبط است نشان می دهد. اگر یک اعلان قبلی بی نظیر باشد ، یعنی دیگر مرتبط نیست ، آن را برکنار کنید تا کاربر آن را نبیند.

شکل 17: متن تازه وارد شده در بالای کشو اعلان ظاهر می شود ، با یک اعلان اولویت پایین تر درباره یک عکس در پایین اضافه می شود

اعلان های جدید که توسط Icon App Icon Badge نشان داده شده است

در پرتابگرهای پشتیبانی شده در دستگاه هایی که Android 8.0 (API سطح 26) و بالاتر دارند ، آیکون های برنامه یک نقطه اعلان را نشان می دهند تا نشان دهند که این برنامه دارای یک اعلان جدید در ارتباط با آن است. این نقاط به طور پیش فرض در برنامه های پرتاب که از آنها پشتیبانی می کنند ظاهر می شوند و هیچ کاری برای انجام برنامه شما وجود ندارد. نشان همچنین می تواند غیرفعال و محدود باشد.

شکل 18: نقطه اعلان در یک نماد برنامه ، که نشان می دهد برنامه دارای یک اعلان جدید در ارتباط با آن است

اقدامات کاربران می توانند با اعلان ها انجام دهند

اعلان ها می توانند کاربران را قادر به انجام هر یک از اقدامات زیر کنند:

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

    هنگامی که کاربر یک اعلان را برطرف می کند ، برنامه شما باید UI را نشان دهد که مستقیماً به آن اعلان مربوط می شود و به کاربر اجازه می دهد تا اقدام فوری انجام دهد. به عنوان مثال ، اگر اعلان می گوید نوبت آنها در یک بازی دو نفره است ، با ضربه زدن به اعلان باید آنها را مستقیماً به آن بازی ببرد.

  • به نمای گسترده ای از اعلان مراجعه کنید: یک شاخص گسترش در هدر ظاهر می شود. کاربر می تواند روی شاخص یا ضربه زدن به بدنه اعلان برای گسترش آن ضربه بزند.

    شکل 19: اعلان گسترش یافته
  • اعلان را رد کنید (در صورت مجاز بودن): کاربر می تواند با کشیدن آن به چپ یا راست ، آن را رد کند.

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

  • یک اعلان Heads-Up را چرت بزنید: کاربر می تواند روی یک اعلان Heads-Up بکشید و هیچ اعلان دیگری از آن رویداد مجاز به پالس برای یک دقیقه نیست.

  • کنترل اعلان های مشابه در آینده: کاربران می توانند به کنترل های اعلان دسترسی پیدا کنند:

    • لمس و نگه داشتن یک اعلان فردی
    • اعلان را به چپ یا راست بکشید و سپس با ضربه زدن به نماد تنظیمات

کنترل های نمایش داده شده بسته به نسخه Android متفاوت است و اینکه آیا این برنامه دارای کانال هایی برای اعلان های خود است (از Android 8.0 شروع می شود).

اعلان های متعدد

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

برنامه شما می تواند چندین اعلان را با توجه به سلسله مراتب زیر ارائه دهد.

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

Android اعلان های کودک را بدون اطلاعات هدر تکراری ارائه می دهد. به عنوان مثال ، اگر اعلان کودک دارای نماد برنامه مشابه والدین خود باشد ، هدر کودک شامل یک نماد نیست.

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

شکل 20: اعلان های گروه بندی شده از دیدگاه های فروپاشی و گسترش یافته.

تنظیمات

کانال ها

با شروع از Android 8.0 (سطح API 26) ، تمام اعلان ها باید به یک کانال اختصاص داده شوند. برای هر کانال ، می توانید رفتار بصری و شنوایی را که برای همه اعلان های موجود در آن کانال اعمال می شود ، تنظیم کنید. کاربران می توانند این تنظیمات را تغییر داده و تصمیم بگیرند که کدام کانال های اعلان از برنامه شما می توانند مزاحم یا قابل مشاهده باشند.

برای جزئیات بیشتر در مورد نحوه اجرای این کار ، به کانال های اعلان ایجاد و مدیریت مراجعه کنید.

اهمیت باید با توجه به زمان و توجه کاربر انتخاب شود. هنگامی که یک اعلان بی اهمیت به عنوان فوری مبدل می شود ، می تواند زنگ غیر ضروری را ایجاد کند.

اهمیت رفتار استفاده نمونه ها
HIGH صدا می کند و روی صفحه ظاهر می شود اطلاعات بحرانی زمانی که کاربر باید بلافاصله آن را بشناسد یا روی آن عمل کند پیام های متنی ، هشدارها ، تماس های تلفنی
DEFAULT صدا می کند اطلاعاتی که باید در اولین راحتی کاربر مشاهده شود ، اما آنچه را که انجام می دهند قطع نمی کند هشدارهای ترافیک ، یادآوری کار
LOW بدون صدا کانال های اعلان که الزامات سایر سطوح اهمیت را برآورده نمی کنند محتوای جدیدی که کاربر در آن مشترک شده است ، دعوت های شبکه اجتماعی
MIN بدون وقفه صدا یا بصری اطلاعات غیر ضروری که می تواند صبر کند یا به طور خاص برای کاربر مرتبط نباشد مکانهای مورد علاقه ، آب و هوا ، محتوای تبلیغاتی

دسته های از پیش تعریف شده

این که آیا از کانال ها استفاده می کنید یا خیر ، هر اعلان فردی را به مناسب ترین دسته از پیش تعریف شده اختصاص دهید. اندروید ممکن است از این اطلاعات برای تصمیم گیری در رتبه بندی و فیلتر استفاده کند.

دسته بندی توضیحات
CATEGORY_CALL تماس ورودی (صدا یا فیلم) یا درخواست ارتباط همزمان مشابه
CATEGORY_MESSAGE پیام مستقیم ورودی (پیام کوتاه ، پیام فوری و غیره)
CATEGORY_EMAIL پیام فله ناهمزمان (ایمیل)
CATEGORY_EVENT رویداد تقویم
CATEGORY_PROMO تبلیغ یا تبلیغات
CATEGORY_ALARM زنگ هشدار یا تایمر
CATEGORY_PROGRESS پیشرفت یک عملیات پس زمینه طولانی مدت
CATEGORY_SOCIAL شبکه اجتماعی یا به روزرسانی به اشتراک گذاری
CATEGORY_ERROR خطا در عملکرد پس زمینه یا وضعیت احراز هویت
CATEGORY_TRANSPORT کنترل حمل و نقل رسانه ای برای پخش
CATEGORY_SYSTEM به روزرسانی وضعیت سیستم یا دستگاه. برای استفاده از سیستم رزرو شده است.
CATEGORY_SERVICE نشانگر اجرای سرویس پس زمینه
CATEGORY_RECOMMENDATION یک توصیه خاص و به موقع برای یک چیز واحد. به عنوان مثال ، یک برنامه خبری ممکن است یک خبر خبری را که کاربر ممکن است بخواهد در ادامه بخواند ، توصیه کند.
CATEGORY_STATUS اطلاعات مداوم در مورد دستگاه یا وضعیت متنی

اعلان های صفحه قفل

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

سطح حساسیت را برای محتوا در صفحه های قفل تنظیم کنید

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

  • اعلان های عمومی در صفحه های قفل ایمن کاملاً قابل مشاهده است.
  • اعلان های مخفی پنهان است.
  • اعلان های خصوصی در وسط قرار می گیرند: آنها فقط اطلاعات اساسی را نشان می دهند ، از جمله نام برنامه ارسال شده و نماد آن. به جای محتوای منظم - که پنهان است - می توانید به صورت اختیاری برای نشان دادن متنی که اطلاعات شخصی را نشان نمی دهد ، مانند 2 new messages نشان دهید.

در مثال زیر ، اعلان های صفحه قفل برای برنامه های Gmail و Photos تمام محتوا را پس از انتخاب کاربر برای نمایش این اطلاعات در صفحه قفل نشان می دهد.

شکل 21: صفحه قفل با سطح حساسیت متفاوت.

1 تمام محتوای اعلان نشان داده شده در صفحه قفل

2 محتوای اعلان حساس که روی صفحه قفل پنهان شده اند

سبک

متن روشن و مختصر

Android عناوین محتوا را به یک خط واحد تبدیل می کند (حتی در صورت گسترش).

عنوان محتوای خوب به دستورالعمل های زیر پایبند است:

  • از 30 نویسه تجاوز نمی کند
  • حاوی مهمترین اطلاعات است
  • از متغیرها جلوگیری می کند (مگر اینکه آنها دارای یک رشته یا متن کوتاه باشند ، یا قبل از متن انجام می شوند)
  • نام برنامه را که قبلاً در هدر ظاهر می شود ، مستثنی می کند
نام برنامه را در عنوان محتوا نشان دهید ، که با منطقه هدر اضافی است و از شخصیت های موجود استفاده می کند.
مهمترین اطلاعات را در عنوان محتوا نشان دهید.

متن محتوای خوب به دستورالعمل های زیر پایبند است:

  • از بیش از حد 40 شخصیت جلوگیری می کند
  • از تکرار آنچه در عنوان محتوا است جلوگیری می کند

نماد بزرگ

از نماد بزرگ برای استفاده از مواردی استفاده کنید که در آن تصاویر به طور معناداری محتوای اعلان را تقویت می کنند. چند نمونه عبارتند از:

  • ارتباطات از شخص دیگری ، مانند تصویر شخصی که پیام ارسال می کند
  • منبع محتوا اگر متفاوت از برنامه ارسال اعلان باشد ، مانند آرم از یک کانال YouTube که کاربر در آن مشترک است
  • نمادهای معنی دار در مورد اعلان ، مانند نماد فلش برای جهت رانندگی

نمادهای بزرگ هنگام نشان دادن شخص باید به صورت دایره ای باشند ، اما در همه موارد دیگر مربع هستند.

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

به روزرسانی های نسخه Android

UI سیستم اعلان اندرویدی و API های مربوط به اطلاع رسانی به طور مداوم در حال تکامل هستند. برای لیستی از این تغییرات ، سازگاری اعلان را بررسی کنید.

ملاحظات سکو

بپوشید

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

،

اعلان ها اطلاعات مختصری ، به موقع و مربوط به برنامه شما را در صورت عدم استفاده ارائه می دهند.

سیستم عامل Android جنبه های بسیاری از اعلان ها را کنترل می کند ، اما شما بر جنبه های دیگر کنترل دارید. هنگام اجرای اعلان ها این مراحل را دنبال کنید:

  1. آناتومی یک اعلان را درک کنید.
  2. نوع اعلان را برای مورد استفاده خود انتخاب کنید.
  3. دسته اعلان را تنظیم کنید که با نوع اعلان انتخابی که انتخاب کرده اید مطابقت داشته باشد.

غذای آماده

  • هدف از اعلان را در نظر بگیرید: چرا به کاربران خود هشدار می دهید؟
  • الگوی مجوز اعلان را تعیین کنید ، در نظر بگیرید که اعلان های مهم برای برنامه شما چقدر مهم است و از کجا می توانید در سفر کاربر خود بپرسید.
  • الگوی اعلان خود را انتخاب کنید.
  • ایجاد محتوای اعلان:
    • متن هدر باید به طور خلاصه اعلان را خلاصه کند.
    • متن محتوا باید اعلان را پیش نمایش دهد.
    • محتوای تصویر در صورت وجود برای محتوای برنامه شما.
    • Media KeyArt و ابرداده برای الگوی رسانه.
  • با ارائه اقدامات بر اساس محتوای خود یا با دکمه های متنی ، تایپ کردن یا کنترل رسانه ها ، چه کاری می تواند با یک اعلان انجام دهد.
  • نماد برنامه خود را درج کنید و رنگ پس زمینه برنامه Icon را تنظیم کنید.
  • کانال ها و دسته بندی ها را برای اعلان های خود تنظیم کنید. این به سیستم و کاربر شما اجازه می دهد تا چه اعلان هایی را دریافت کنند و رفتار اولویت را ارائه دهند.
  • اگر برنامه شما ممکن است چندین اعلان را به طور هم زمان ارائه دهد ، اعلان های گروهی.
  • برای الگوهای اعلان ، کیت UI Android را در FIGMA بررسی کنید.

آناتومی یک اعلان

اعلان ها به گونه ای طراحی شده اند که اسکن و استفاده از مهمترین عناصر اعلان را آسان می کند. این عناصر عبارتند از:

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

هدر و محتوای اعلان

هنگام فروپاشی ، یک اعلان نماد برنامه ، متن هدر ، Timestamp ، گسترش نشانگر و متن محتوا را نشان می دهد. همچنین می تواند به صورت اختیاری یک نماد بزرگ را نشان دهد.

شکل 2: منطقه هدر اعلان

1 نماد برنامه: نماد برنامه یک نمایش دو بعدی از هویت برنامه شما است. در نوار وضعیت در تک رنگ ظاهر می شود. اگر برنامه شما طیف گسترده ای از اعلان ها را ارسال می کند ، در نظر بگیرید که نماد برنامه خود را با یک نماد جایگزین کنید تا بین انواع مختلف اعلان ها تمایز قائل شوید. برای جزئیات بیشتر به استفاده از رنگ نماد مراجعه کنید.

2 متن عنوان: یک عنوان مختصر برای اعلان یا منبع ، مانند نام حساب کاربری کاربران. محتوا برجسته ترین عنصر یک اعلان است.

3 Timestamp: نشان می دهد چه موقع اعلان ارسال شده است ، مانند زمان تماس از دست رفته.

4 شاخص گسترش: نشان می دهد که آیا این اطلاعیه در حالت فروپاشی یا گسترش یافته است.

5 متن محتوا: پشتیبانی از اطلاعات.

6 نماد بزرگ (اختیاری): ممکن است یک تصویر برای تقویت اعلان به روشی معنی دار ، مانند پیامی که شامل نماد فرستنده است ، اضافه شود.

رنگ نماد را بمالید

با شروع در Android 12 (API سطح 31) ، سیستم رنگ نماد را از رنگ اعلان مورد نظر خود در برنامه استخراج می کند. اگر برنامه رنگ را تنظیم نکند ، از رنگ موضوع سیستم استفاده می کند. پیش از این ، رنگ خاکستری بود.

شکل 3: رنگ آیکون برنامه یک ظاهر طراحی شده

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

قطعه زیر نحوه استفاده از رنگ نماد را نشان می دهد.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

اقدامات اعلان

شکل 4: منطقه اقدام اعلان

1 اقدامات دکمه متن

2 دکمه اکشن پر شده

3 پاسخ پیشنهادی

4 قسمت متن پاسخ

با شروع Android 7.0 (API سطح 24) ، سیستم اقدامات بدون نمادها را برای قرار دادن متن بیشتر نشان می دهد. برای اسکان دستگاه ها و دستگاه های Android Wear که Android 6.0 (API سطح 23) و پایین تر دارند ، برنامه شما هنوز باید یک نماد را ارائه دهد.

نماهای گسترده

شما می توانید از یک نمای گسترده برای نمایش اطلاعات بیشتر به کاربر استفاده کنید بدون اینکه از اعلان دور شوید.

در صورت گسترش ، یک اعلان می تواند سه مورد از هر یک از نوع اقدامات زیر را ارائه دهد:

  • پاسخ های پیشنهادی
  • اقدامات تأکید شده (دکمه های قرص شکل)
  • اقدامات متنی استاندارد
شامل اقدامات متنی است که رفتار ضربه زدن به بدن اعلان را کپی می کند.
به کاربر فرصتی دهید تا با اعلان ارتباط برقرار کند. برنامه Google Clock یک تایمر را در حال اجرا نشان می دهد ، اما به کاربر اجازه می دهد مکث کند یا یک دقیقه مستقیم از اعلان اضافه کند.

تایپ کردن در اعلان ها را فعال کنید

شما کاربر را قادر می سازد با استفاده از یک عمل پاسخ ، مستقیماً در یک اعلان تایپ کند. این برای تایپ مقدار کمی از متن مانند پاسخ دادن به یک پیام متنی یا یک یادداشت کوتاه طراحی شده است.

برای تایپ کردن با شکل طولانی تر ، کاربران را به برنامه خود هدایت کنید تا فضای بیشتری برای مشاهده و ویرایش متن فراهم کنید.

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

شکل 5: کاربر که مستقیماً در پیام های اندرویدی پاسخ می دهد بدون اینکه پس از پاسخ دادن به آن ، اعلان را ترک کند

بسته به مورد استفاده خود ، نوع اعلان را انتخاب کنید

Google از الگوهای اعلان زیر در برنامه های Android خود استفاده می کند. این الگوها را می توان تا حدی برای برنامه شما تنظیم کرد.

برای الگوهای اعلان ، کیت UI Android را در FIGMA بررسی کنید.

قالب استاندارد

الگوی استاندارد برای اکثر اعلان ها مناسب است ، اجازه می دهد متن موجز ، یک نماد بزرگ (در صورت کاربرد) و اقدامات.

شکل 6: الگوی اعلان استاندارد

الگوی متن بزرگ

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

شکل 7: الگوی متن بزرگ ، با گزینه نماد بزرگ

الگوی تصویر بزرگ

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

شکل 8: الگوی تصویر بزرگ

الگوی پیشرفت

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

شکل 9: الگوی پیشرفت

الگوی رسانه

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

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

الگوی پیام رسانی

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

شکل 11: الگوی پیام رسانی

الگوی تماس

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

شکل 12: الگوی تماس

الگوی به روزرسانی های زنده

به روزرسانی های زنده خلاصه ای از به روزرسانی های مهم را ارائه می دهند تا کاربران بتوانند بدون باز کردن برنامه ، پیشرفت را پیگیری کنند. کاربران می توانند به طور موقت یک اعلان به روزرسانی زنده را به یک اعلان استاندارد رد یا از بین ببرند. اعلان های بروزرسانی زنده باید برای ارائه اطلاعات مختصر ، به موقع و مربوطه ، از اصول اعلان پیروی کنند.

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

به روزرسانی های زنده در شرایط زیر خوب کار نمی کنند:

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

مجوزهای اعلان

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

یک استثنا در این مورد وجود دارد: شروع در Android 13 (API سطح 33) ، جلسات رسانه ای و برنامه هایی که تماس های تلفنی را مدیریت می کنند ، از درخواست رضایت کاربر معاف هستند. اگر کاربر قبلاً اعلان هایی را در مورد آن داشته باشد ، برنامه های از قبل موجود نیز ممکن است واجد شرایط باشند. جزئیات بیشتر در معافیت ها را مشاهده کنید.

ما اکیداً توصیه می کنیم که برنامه شما گزینه های اعلان را در تنظیمات ارائه دهد تا کاربران بتوانند تنظیمات اعلان های خود را به روز کنند.

کاربر را وادار به انتخاب اعلان های غیر معافیت کند

برای اعلان های غیر معاف ، کاربر را وادار به نشان دادن اینکه آیا می خواهند از دریافت اعلان ها انتخاب کنند ، نشان دهد. کاربرانی که صریحاً تصمیم به دریافت اعلان ها می گیرند ، احتمالاً آنها را مفیدتر و مزاحم تر می دانند.

شکل 14: درخواست رضایت کاربر برای اعلان غیر معاف

صبر کنید تا گفتگوی اعلان را نشان دهید:

  • اعلان های مزایای ارائه شده و نتیجه عدم اعطای مجوز برای اعلان ها را شرح دهید.
  • UI متنی را ارائه دهید ، و این را با توجه به ویژگی های آن یا آنچه تأثیر می گذارد ، ارائه دهید. این رابط کاربری می تواند به هر شکلی برای ادغام بهترین در برنامه شما برسد: به عنوان مثال کارت در یک هزینه ، ورق پایین یا صفحه نمایش روی صفحه. هر یک از این موارد باید رد شود.
  • اگر کاربر UI را رد کرده است ، گفتگوی مجوز اعلان را نشان ندهید.

با شروع در Android 13 ، کاربران می توانند برای مجوزهای اطلاع رسانی مجدداً تهیه شوند.

اعلان های مورد نیاز

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

شکل 15: مثال اعلان سرویس پیش زمینه برنامه تناسب اندام

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

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

در صورت عدم استفاده از اعلان

از اعلان ها برای هر یک از موارد استفاده زیر استفاده نکنید:

  • برای تبلیغ متقابل یا تبلیغات محصول دیگری (این به شدت توسط فروشگاه بازی ممنوع است)
  • اگر کاربر هرگز برنامه شما را باز نکرده است
  • به عنوان روش اصلی ارتباط با کاربران
  • برای تشویق کاربر برای بازگشت به یک برنامه ، اما هیچ مقدار مستقیم ارائه نمی دهد (به عنوان مثال ، "مدتی شما را ندیده اید!")
  • برای درخواست برای ارزیابی برنامه خود
  • برای عملیاتی که نیازی به مشارکت کاربر ندارند ، مانند همگام سازی اطلاعات
  • برای اعلام خطا ، برنامه ممکن است بدون تعامل کاربر از آن بهبود یابد
  • برای پیام های تعطیلات یا تولد
تبریک تعطیلات یا تولد را در قالب اعلان ها ارسال کنید.
کاربر را در وسط یک کار قطع کنید و تنها با هدف پرسیدن اینکه آیا کار خوبی انجام داده اید یا خیر.

رفتار

از رفتارهای اعلان زیر و نحوه رسیدگی به آنها در زمینه های خاص آگاه باشید.

ورود اعلان

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

  • صدا ایجاد کنید یا باعث لرزش تلفن شوید.
  • نمایش در نوار وضعیت با یک نماد ؛ این به طور معمول نماد برنامه شما است ، اما اگر انواع مختلفی از اعلان ها را دارید ، از نمادی استفاده کنید که هدف اعلان را ضبط می کند.
  • به عنوان یک اعلان Heads-Up نمایش دهید و به صفحه فعلی نگاه کنید تا توجه کاربر را به خود جلب کند.

مثل همیشه ، کاربر می تواند رفتارهای اعلان را که تعیین کرده اید تغییر دهد.

شکل 16: ورود اعلان

1 شاخص اطلاع رسانی در نوار وضعیت ، نشان می دهد که در کشو اعلان اعلان وجود دارد.

2 اعلان "نگاه کردن" به صفحه فعلی برای جلب توجه کاربر در وسط یک کار.

کشو اعلان

کشو اعلان در اندروید به طور معمول اعلان ها را به ترتیب معکوس- همزمان نشان می دهد ، با تنظیمات تحت تأثیر شرایط زیر:

  • اولویت یا اهمیت اعلان برنامه اعلام شده برنامه
  • این که آیا این اعلان اخیراً کاربر را با صدا یا لرزش هشدار داده است
  • هر افرادی که به اعلان وصل شده اند و اینکه آیا آنها مخاطبین بازی شده اند
  • این که آیا این اعلان نشان دهنده یک فعالیت مهم در حال انجام است ، مانند یک تماس تلفنی در حال انجام یا پخش موسیقی
  • تغییرات ظاهر برخی از اعلان ها توسط سیستم عامل Android در بالا و پایین لیست با افزودن تأکید یا تأکید ، که به اسکن کاربر کمک می کند

اعلان های قدیمی را کنترل کنید

کشوی اعلان به گونه ای طراحی شده است که اطلاعاتی را که برای لحظه فعلی مرتبط است نشان می دهد. اگر یک اعلان قبلی بی نظیر باشد ، یعنی دیگر مرتبط نیست ، آن را برکنار کنید تا کاربر آن را نبیند.

شکل 17: متن تازه وارد شده در بالای کشو اعلان ظاهر می شود ، با یک اعلان اولویت پایین تر درباره یک عکس در پایین اضافه می شود

اعلان های جدید که توسط Icon App Icon Badge نشان داده شده است

در پرتابگرهای پشتیبانی شده در دستگاه هایی که Android 8.0 (API سطح 26) و بالاتر دارند ، آیکون های برنامه یک نقطه اعلان را نشان می دهند تا نشان دهند که این برنامه دارای یک اعلان جدید در ارتباط با آن است. این نقاط به طور پیش فرض در برنامه های پرتاب که از آنها پشتیبانی می کنند ظاهر می شوند و هیچ کاری برای انجام برنامه شما وجود ندارد. نشان همچنین می تواند غیرفعال و محدود باشد.

شکل 18: نقطه اعلان در یک نماد برنامه ، که نشان می دهد برنامه دارای یک اعلان جدید در ارتباط با آن است

اقدامات کاربران می توانند با اعلان ها انجام دهند

اعلان ها می توانند کاربران را قادر به انجام هر یک از اقدامات زیر کنند:

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

    هنگامی که کاربر یک اعلان را برطرف می کند ، برنامه شما باید UI را نشان دهد که مستقیماً به آن اعلان مربوط می شود و به کاربر اجازه می دهد تا اقدام فوری انجام دهد. به عنوان مثال ، اگر اعلان می گوید نوبت آنها در یک بازی دو نفره است ، با ضربه زدن به اعلان باید آنها را مستقیماً به آن بازی ببرد.

  • به نمای گسترده ای از اعلان مراجعه کنید: یک شاخص گسترش در هدر ظاهر می شود. کاربر می تواند روی شاخص یا ضربه زدن به بدنه اعلان برای گسترش آن ضربه بزند.

    شکل 19: اعلان گسترش یافته
  • اعلان را رد کنید (در صورت مجاز بودن): کاربر می تواند با کشیدن آن به چپ یا راست ، آن را رد کند.

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

  • یک اعلان Heads-Up را چرت بزنید: کاربر می تواند روی یک اعلان Heads-Up بکشید و هیچ اعلان دیگری از آن رویداد مجاز به پالس برای یک دقیقه نیست.

  • کنترل اعلان های مشابه در آینده: کاربران می توانند به کنترل های اعلان دسترسی پیدا کنند:

    • لمس و نگه داشتن یک اعلان فردی
    • اعلان را به چپ یا راست بکشید و سپس با ضربه زدن به نماد تنظیمات

کنترل های نمایش داده شده بسته به نسخه Android متفاوت است و اینکه آیا این برنامه دارای کانال هایی برای اعلان های خود است (از Android 8.0 شروع می شود).

اعلان های متعدد

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

برنامه شما می تواند چندین اعلان را با توجه به سلسله مراتب زیر ارائه دهد.

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

Android اعلان های کودک را بدون اطلاعات هدر تکراری ارائه می دهد. به عنوان مثال ، اگر اعلان کودک دارای نماد برنامه مشابه والدین خود باشد ، هدر کودک شامل یک نماد نیست.

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

شکل 20: اعلان های گروه بندی شده از دیدگاه های فروپاشی و گسترش یافته.

تنظیمات

کانال ها

با شروع از Android 8.0 (سطح API 26) ، تمام اعلان ها باید به یک کانال اختصاص داده شوند. برای هر کانال ، می توانید رفتار بصری و شنوایی را که برای همه اعلان های موجود در آن کانال اعمال می شود ، تنظیم کنید. کاربران می توانند این تنظیمات را تغییر داده و تصمیم بگیرند که کدام کانال های اعلان از برنامه شما می توانند مزاحم یا قابل مشاهده باشند.

برای جزئیات بیشتر در مورد نحوه اجرای این کار ، به کانال های اعلان ایجاد و مدیریت مراجعه کنید.

اهمیت باید با توجه به زمان و توجه کاربر انتخاب شود. هنگامی که یک اعلان بی اهمیت به عنوان فوری مبدل می شود ، می تواند زنگ غیر ضروری را ایجاد کند.

اهمیت رفتار استفاده نمونه ها
HIGH صدا می کند و روی صفحه ظاهر می شود اطلاعات بحرانی زمانی که کاربر باید بلافاصله آن را بشناسد یا روی آن عمل کند پیام های متنی ، هشدارها ، تماس های تلفنی
DEFAULT صدا می کند اطلاعاتی که باید در اولین راحتی کاربر مشاهده شود ، اما آنچه را که انجام می دهند قطع نمی کند هشدارهای ترافیک ، یادآوری کار
LOW بدون صدا کانال های اعلان که الزامات سایر سطوح اهمیت را برآورده نمی کنند محتوای جدیدی که کاربر در آن مشترک شده است ، دعوت های شبکه اجتماعی
MIN بدون وقفه صدا یا بصری اطلاعات غیر ضروری که می تواند صبر کند یا به طور خاص برای کاربر مرتبط نباشد مکانهای مورد علاقه ، آب و هوا ، محتوای تبلیغاتی

دسته های از پیش تعریف شده

این که آیا از کانال ها استفاده می کنید یا خیر ، هر اعلان فردی را به مناسب ترین دسته از پیش تعریف شده اختصاص دهید. اندروید ممکن است از این اطلاعات برای تصمیم گیری در رتبه بندی و فیلتر استفاده کند.

دسته بندی توضیحات
CATEGORY_CALL تماس ورودی (صدا یا فیلم) یا درخواست ارتباط همزمان مشابه
CATEGORY_MESSAGE پیام مستقیم ورودی (پیام کوتاه ، پیام فوری و غیره)
CATEGORY_EMAIL پیام فله ناهمزمان (ایمیل)
CATEGORY_EVENT رویداد تقویم
CATEGORY_PROMO تبلیغ یا تبلیغات
CATEGORY_ALARM زنگ هشدار یا تایمر
CATEGORY_PROGRESS پیشرفت یک عملیات پس زمینه طولانی مدت
CATEGORY_SOCIAL شبکه اجتماعی یا به روزرسانی به اشتراک گذاری
CATEGORY_ERROR خطا در عملکرد پس زمینه یا وضعیت احراز هویت
CATEGORY_TRANSPORT کنترل حمل و نقل رسانه ای برای پخش
CATEGORY_SYSTEM به روزرسانی وضعیت سیستم یا دستگاه. برای استفاده از سیستم رزرو شده است.
CATEGORY_SERVICE نشانگر اجرای سرویس پس زمینه
CATEGORY_RECOMMENDATION یک توصیه خاص و به موقع برای یک چیز واحد. به عنوان مثال ، یک برنامه خبری ممکن است یک خبر خبری را که کاربر ممکن است بخواهد در ادامه بخواند ، توصیه کند.
CATEGORY_STATUS Ongoing information about device or contextual status

اعلان های صفحه قفل

If a user has opted to show notifications when their screen is locked, these notifications can conceal any content that your app marks as sensitive. Android evaluates each notification's visibility level to determine what can safely be shown.

Set sensitivity level for content on lock screens

User privacy is critically important, so be aware that there are different levels of notification that can be visible on the lock screen. For each notification you create, you must set the visibility level to public, private , or secret .

  • Public notifications are fully visible on secure lock screens.
  • Secret notifications are hidden.
  • Private notifications fall in the middle: they show only basic information, including the name of the app that posted it and its icon. Instead of the regular content—which is hidden—you can optionally to show text that doesn't reveal personal information, such as 2 new messages .

In the following example, lock screen notifications for the Gmail and Photos apps show all content after the user has chosen to show this information on the lock screen.

Figure 21: Lock screen with different sensitivity levels.

1 All notification content shown on the lock screen

2 Sensitive notification content hidden on the lock screen

سبک

Clear and concise text

Android truncates content titles to a single line (even when expanded).

A good content title adheres to the following guidelines:

  • Doesn't exceed 30 characters
  • Contains the most important information
  • Avoids variables (unless they contain a number or short text string, or are preceded by text)
  • Excludes the app's name, which already appears in the header
Show the app name in the content title, which is redundant with the header area and uses available characters.
Show the most important information in the content title.

Good content text adheres to the following guidelines:

  • Avoids exceeding the 40-character limit
  • Avoids repeating what's in the content title

The large icon

Use the large icon for use cases in which imagery meaningfully reinforces the notification's content. چند نمونه عبارتند از:

  • Communications from another person, such as the image of someone sending a message
  • The source of content if it's different than the app sending the notification, such as the logo from a YouTube channel a user is subscribed to
  • Meaningful symbols about the notification, such as an arrow symbol for driving directions

Large icons must be circular when showing a person, but square in all other cases.

Use the large icon for branding.
Use the large icon to reinforce a notification's content in a meaningful way, such as a displaying person's photo attached to a message notification.

Android version updates

The Android notification system UI and the notification-related APIs continually evolve. For a list of these changes check out the notification compatibility .

Platform Considerations

بپوشید

If the user has a paired Wear OS device, all your notifications appear there automatically, including expandable detail and action buttons. For details, see the design page for notifications on Wear .

،

Notifications provide brief, timely, and relevant information related to your app when it's not in use.

The Android OS controls many aspects of notifications, but you have control over other aspects. Follow these steps when implementing notifications:

  1. Understand the anatomy of a notification.
  2. Choose the type of notification for your use case.
  3. Set the notification category that aligns with the type of notification you've chosen.

غذای آماده

  • Consider the purpose of the notification: why are you alerting your users?
  • Determine notification permission pattern, consider how important notifications are to your app and where to ask in your user's journey.
  • Pick your notification template.
  • Create notification content:
    • Header text should succinctly summarize the notification.
    • Content text should preview the notification.
    • Image content if applicable to your app's content.
    • Media keyart and metadata for media template.
  • Make it obvious what your user can do with a notification by providing actions based on their content either with text buttons, typing, or media controls.
  • Include your app icon and set the app icon background color.
  • Set channels and categories for your notifications. This allows the system and your user to customize what notifications they receive and provides priority behavior.
  • If your app may deliver multiple notifications at once, group notifications.
  • Check out the Android UI Kit on Figma for notification templates.

Anatomy of a notification

Notifications are designed to make it easy to scan and use a notification's most important elements. این عناصر عبارتند از:

  • Primary content : this constitutes the most prominent element of a notification. Secondary information, such as a timestamp, is smaller and consolidated above the primary content.
  • People : if the notification involves a person, an avatar stands out from the rest of the content.
  • Actions : users can expand notifications by tapping an indicator icon. Actions are displayed with text labels on a separate background color and location.
Figure 1: Collapsed notification

Notification header and content

When collapsed, a notification shows the app icon, header text, timestamp, expand indicator, and content text. It can also optionally show a large icon.

Figure 2: Notification header area

1 App icon: The app icon is a two-dimensional representation of your app's identity. It appears in monochrome in the status bar. If your app sends a wide variety of notifications, consider replacing your app icon with a symbol to distinguish between the different kinds of notifications. See Apply the icon color for details.

2 Header text: a brief headline for the notification or source, such as the account name for users. Content is the most prominent element of a notification.

3 Timestamp: indicates when a notification was sent, such as the time of a missed call.

4 Expand indicator: indicates whether the notification is in a collapsed or expanded state.

5 Content text: supporting information.

6 Large icon (optional): An image may be added to reinforce the notification in a meaningful way, such as a message that includes an avatar of the sender.

Apply the icon color

Starting in Android 12 (API level 31), the system derives the icon color from the notification color you set in the app. If the app doesn't set the color, it uses the system theme color. Previously, the color was gray.

Figure 3: Resulting styled app icon color

For most styles, the system applies this color only if the notification is for a foreground service notification. However, there is no such requirement for MediaStyle and DecoratedMediaCustomViewStyle notifications that have a media session attached.

The following snippet shows how to apply the icon color.

val notification = Notification.Builder()
    .setColor(Color.GREEN)
    .setColorized(true)
    .setSmallIcon(R.drawable.app_icon)
    .setStyle(Notification.DecoratedCustomViewStyle())
    .build()

Notification actions

Figure 4: Notification action area

1 Text button actions

2 Filled action buttons

3 Suggested replies

4 Reply text field

Starting with Android 7.0 (API level 24), the system shows actions without icons to accommodate more text. To accommodate Android Wear devices and devices running Android 6.0 (API level 23) and lower, your app must still provide an icon.

Expanded views

You can use an expanded view to display more information to the user without navigating away from the notification.

When expanded, a notification can provide up to three of any of the following kinds of actions:

  • پاسخ های پیشنهادی
  • Emphasized actions (pill-shaped buttons)
  • Standard text actions
Include text actions that duplicate the behavior of tapping on the notification body.
Give the user a chance to interact with the notification. The Google Clock app shows a timer running, but it lets the user pause or add a minute directly from the notification.

Enable typing in notifications

You enable the user to type directly into a notification by including a Reply action. This is designed for typing a small amount of text, such as replying to a text message or jotting a brief note.

For longer-form typing, navigate users to your app to provide them more space to view and edit text.

For messaging apps, we recommend keeping the notification present after the user has sent the reply, and waiting until the conversation is paused before automatically dismissing it.

Figure 5: A user replying directly in the Android Messages without leaving the notification after tapping Reply

Choose the notification type depending on your use case

Google uses the following notification templates in its Android apps. These templates can be customized to some extent for your app.

Check out the Android UI Kit on Figma for notification templates.

قالب استاندارد

The standard template is suitable for most notifications, allowing succinct text, a large icon (when applicable), and actions.

Figure 6: Standard notification template

Big text template

The big text template is ideal for displaying blocks of longer text. It lets the user preview more text after they expand the notification.

Figure 7: Big text template, with option large icon

Big picture template

The big picture template is designed for notifications containing an image. When collapsed, the notification shows a large icon thumbnail of the picture. When expanded, the notification shows a much larger preview.

Figure 8: Big picture template

Progress template

The progress template is designed for user-initiated activities that take time to complete. When expanded, a notification that uses this template shows a progress bar and also includes a "cancel" action that lets the user terminate this activity. (Non-cancelable activities don't warrant notifications.)

Figure 9: Progress template

Media template

The media template is designed for letting the user control media currently playing from an app.

  • When collapsed, the notification can display up to three actions. The large icon can show a related image such as an album cover.
  • When expanded, the notification displays up to five actions with a larger image, or six actions with no image. The background and other elements of the notification automatically inherit the colors from the image.
Figure 10: Media template

Messaging template

The MessagingStyle template is designed for real-time communication. When expanded, a notification using this template lets the user reply to messages from within the notification.

Figure 11: Messaging template

Call template

Use the CallStyle template to generate large-format notifications that include a large image attachment and indicate an incoming or outgoing call.

Figure 12: Call template

Live updates template

Live updates provide a summary of important updates so users can track progress without opening the app. Users can temporarily dismiss or demote a live update notification to a standard notification. Live update notifications should follow notification principles for delivering brief, timely, and relevant information.

Figure 13: Live Updates template
Use live updates for finite or trackable experiences initiated by the user.
Use live updates if there is not a clear end time for the notification.

Live updates don't work well in the following situations:

  • If information in the notification is bundled from multiple applications.
  • If the notification is meant to provide recommendations to users.
  • If it requires bespoke visuals, animations, or unique data structures to communicate.

مجوزهای اعلان

As relevant and timely as notifications can be, most notifications are non-exempt , that is, the user must consent to receiving notifications from your app.

There is one exception to this: starting in Android 13 (API level 33), media sessions and apps that manage phone calls are exempt from asking for user consent. Pre-existing apps may also be eligible if the user already has notifications on. See more details in Exemptions .

We strongly recommend that your app provide notification options in settings to allow users to update their notifications preferences .

Prompt the user to opt-in to non-exempt notifications

For non-exempt notifications, prompt the user to indicate whether they want to to opt-in to receiving notifications. Users who explicitly choose to receive notifications are likely to find them more useful and less intrusive.

Figure 14: Requesting a user's consent for a non-exempt notification

Wait to show the notification dialog prompt:

  • Describe the benefits notifications provide, and the result of not granting permissions for notifications.
  • Provide contextual UI, relating the notification to its features or what it affects. This UI can take any form to integrate best within your app: for example card within a fee, bottom sheet, or onboarding screen. Any of these should be dismissable.
  • Don't show the notification permission dialog, if the user has dismissed the UI.

Starting in Android 13, users can be re-prompted for notification permissions.

Required notifications

Foreground services perform operations that are noticeable to the user but while they're not directly interacting with your app. These services show a status bar notification to make users aware that your app is performing a task in the foreground and is consuming system resources.

Figure 15: Example of fitness app foreground service notification

Because these processes use battery and possibly data, your app must make users aware of them by showing a non-dismissible notification. The user can't dismiss the notification, so you must provide an action for the user to stop the service.

The following example shows a notification from a fitness app. The user has started an active workout session, which instantiates a foreground service tracking the workout session. The app shows the notification to indicate it's tracking walking, with an option to see the workout.

When not to use a notification

Don't use notifications for any of the following use cases:

  • For cross-promotion or advertisement of another product (this is strictly prohibited by the Play Store)
  • If the user has never opened your app
  • As the primary method of communication with users
  • To encourage the user to return to an app, but provide no direct value (for example, "Haven't seen you in a while!")
  • For requests to rate your app
  • For operations that don't require user involvement, such as syncing information
  • To announce error states the app may recover from without user interaction
  • For holiday or birthday messages
Send holiday or birthday greetings in the form of notifications.
Interrupt the user in the middle of a task for the sole purpose of asking if you're doing a good job.

رفتار

Be aware of the following notification behaviors and how to handle them in certain contexts.

Notification arrival

When a notification arrives, Android adds it to the notification drawer. Depending on the parameters you set and the current state of the device, the notification may perform any of the following actions:

  • Make a sound or cause phone vibration.
  • Display in the status bar with an icon; this is typically your app icon, but if you have multiple types of notifications, use a symbol that captures the notification's purpose.
  • Display as a heads-up notification, peeking onto the current screen to grab the user's attention.

As always, the user can choose to alter the notification behaviors you set.

Figure 16: Notification arrival

1 Notification indicator in the status bar, indicating that there's a notification in the notification drawer.

2 Notification "peeking" onto the current screen to grab a user's attention in the middle of a task.

Notification drawer

The notification drawer in Android typically shows notifications in reverse-chronological order, with adjustments influenced by the following conditions:

  • The app's stated notification priority or importance
  • Whether the notification recently alerted the user with a sound or vibration
  • Any people attached to the notification and whether they are starred contacts
  • Whether the notification represents an important ongoing activity, such as a phone call in progress or music playing
  • Alterations of the appearance of some notifications by the Android OS at the top and bottom of the list by adding emphasis or deemphasis, which helps the user scan content

Handle stale notifications

The notification drawer is designed to show users information that is relevant for the current moment in time. If an earlier notification is stale , that is, no longer relevant, dismiss it so the user doesn't see it.

Figure 17: Just-arrived text appears at the top of the notification drawer, with a lower priority notification about a photo being added at the bottom

New notifications indicated by app icon badge

In supported launchers on devices running Android 8.0 (API level 26) and higher, app icons display a notification dot to indicate that the app has a new notification associated with it. These dots appear by default in launcher apps that support them, and there's nothing your app needs to do. Badging can also be disabled and limited.

Figure 18: Notification dot on an app icon, indicating the app has a new notification associated with it

Actions users can perform with notifications

Notifications can enable users to perform any of the following actions:

  • Navigate to a destination: to navigate, a user may tap a notification. If the notification displays on a locked screen, the user needs to double-tap it and then enter their PIN, pattern, or password.

    When the user taps a notification, your app must display UI that relates directly to that notification and lets the user take immediate action. For example, if the notification says it's their turn in a two-player game, tapping the notification should take them directly to that game.

  • See an expanded view of the notification: an expand indicator appears in the header. A user can tap the indicator or swipe down the notification body to expand it.

    Figure 19: Expanded notification
  • Dismiss the notification (if permitted): a user can dismiss it by swiping it left or right.

Ongoing notifications that indicate a continuing process in the background, such as music playing, may not be dismissed with a swipe.

  • Snooze a heads-up notification: a user can swipe up on a heads-up notification , and no further notifications from that event are allowed to pulse for one minute.

  • Control similar notifications in the future: users can access notification controls by:

    • Touching & holding an individual notification
    • Swiping the notification left or right, and then tapping the settings icon

The controls displayed vary depending on the Android version and whether the app has channels for its notifications (starting in Android 8.0).

Group multiple notifications

For apps that generate multiple notifications of the same type, Android offers notification grouping to avoid overwhelming users.

Your app can present multiple notifications according to the following hierarchy.

  • A parent notification displays a summary of its child notifications.
  • If the user expands the parent notification, Android reveals all child notifications.
  • A user can expand a child notification to reveal its entire content.

Android presents child notifications without duplicate header information. For example, if a child notification has the same app icon as its parent, the child's header doesn't include an icon.

Child notifications must be understandable if they appear solo, as the system may show them outside of the group when they arrive.

Figure 20: Grouped notifications collapsed and expanded views.

تنظیمات

کانال ها

Starting in Android 8.0 (API level 26), all notifications must be assigned to a channel. For each channel, you can set the visual and auditory behavior that is applied to all notifications in that channel. Users can change these settings and decide which notification channels from your app can be intrusive or visible.

For details on how to implement this, see Create and manage notification channels .

Importance should be chosen with consideration for the user's time and attention. When an unimportant notification is disguised as urgent, it can produce unnecessary alarm.

اهمیت رفتار استفاده نمونه ها
HIGH Makes a sound and appears on screen Time-critical information that the user must know, or act on, immediately Text messages, alarms, phone calls
DEFAULT Makes a sound Information that should be seen at the user's earliest convenience, but not interrupt what they're doing Traffic alerts, task reminders
LOW No sound Notification channels that don't meet the requirements of other importance levels New content the user has subscribed to, social network invitations
MIN No sound or visual interruption Non-essential information that can wait or isn't specifically relevant to the user Nearby places of interest, weather, promotional content

دسته های از پیش تعریف شده

Whether you're using channels or not, assign each individual notification to the most suitable predefined category. Android may use this information to make ranking and filtering decisions.

دسته بندی توضیحات
CATEGORY_CALL Incoming call (voice or video) or similar synchronous communication request
CATEGORY_MESSAGE Incoming direct message (SMS, instant message, etc.)
CATEGORY_EMAIL Asynchronous bulk message (email)
CATEGORY_EVENT رویداد تقویم
CATEGORY_PROMO Promotion or advertisement
CATEGORY_ALARM Alarm or timer
CATEGORY_PROGRESS Progress of a long-running background operation
CATEGORY_SOCIAL Social network or sharing update
CATEGORY_ERROR Error in background operation or authentication status
CATEGORY_TRANSPORT Media transport control for playback
CATEGORY_SYSTEM System or device status update. Reserved for system use.
CATEGORY_SERVICE Indication of running background service
CATEGORY_RECOMMENDATION A specific, timely recommendation for a single thing. For example, a news app might recommend a news story the user might want to read next.
CATEGORY_STATUS Ongoing information about device or contextual status

اعلان های صفحه قفل

If a user has opted to show notifications when their screen is locked, these notifications can conceal any content that your app marks as sensitive. Android evaluates each notification's visibility level to determine what can safely be shown.

Set sensitivity level for content on lock screens

User privacy is critically important, so be aware that there are different levels of notification that can be visible on the lock screen. For each notification you create, you must set the visibility level to public, private , or secret .

  • Public notifications are fully visible on secure lock screens.
  • Secret notifications are hidden.
  • Private notifications fall in the middle: they show only basic information, including the name of the app that posted it and its icon. Instead of the regular content—which is hidden—you can optionally to show text that doesn't reveal personal information, such as 2 new messages .

In the following example, lock screen notifications for the Gmail and Photos apps show all content after the user has chosen to show this information on the lock screen.

Figure 21: Lock screen with different sensitivity levels.

1 All notification content shown on the lock screen

2 Sensitive notification content hidden on the lock screen

سبک

Clear and concise text

Android truncates content titles to a single line (even when expanded).

A good content title adheres to the following guidelines:

  • Doesn't exceed 30 characters
  • Contains the most important information
  • Avoids variables (unless they contain a number or short text string, or are preceded by text)
  • Excludes the app's name, which already appears in the header
Show the app name in the content title, which is redundant with the header area and uses available characters.
Show the most important information in the content title.

Good content text adheres to the following guidelines:

  • Avoids exceeding the 40-character limit
  • Avoids repeating what's in the content title

The large icon

Use the large icon for use cases in which imagery meaningfully reinforces the notification's content. چند نمونه عبارتند از:

  • Communications from another person, such as the image of someone sending a message
  • The source of content if it's different than the app sending the notification, such as the logo from a YouTube channel a user is subscribed to
  • Meaningful symbols about the notification, such as an arrow symbol for driving directions

Large icons must be circular when showing a person, but square in all other cases.

Use the large icon for branding.
Use the large icon to reinforce a notification's content in a meaningful way, such as a displaying person's photo attached to a message notification.

Android version updates

The Android notification system UI and the notification-related APIs continually evolve. For a list of these changes check out the notification compatibility .

Platform Considerations

بپوشید

If the user has a paired Wear OS device, all your notifications appear there automatically, including expandable detail and action buttons. For details, see the design page for notifications on Wear .