تبلیغات

کار با نوتیفیکیشن در اندروید – بخش اول

کار با نوتیفیکیشن در آندروید - بخش اول

کار با نوتیفیکیشن در اندروید
بخش اول


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

به عنوان مثال هنگامی که یک اس ام اس دریافت می‌شود – هنگامی که شما قصد دارید تبلیغی برای کاربر ارسال کنید – هنگامی که ایمیلی دریافت می‌شود – هنگامی که از سایر مسنجر ها پیامی دریافت می‌شود – حتی زمانی که حافظه شما جای کافی نداشته باشد و …

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

  • آیکون
  • Ticker که به صورت توضیحی گذرا در نوار وضعیت نمایش داده می‌شود.
  • متن Notification که حداقل از دو بخش Title (عنوان) و Text (متن) تشکیل شده است.

در ساده ترین حالت، برای ساخت Notification از کلاس های Notification و NotificationManager استفاده می‌شود که این کلاس ها از اندروید 1 وجود دارند.

Notification در اندروید های 11 و 16 و 22 تغییرات خاصی داشته و در نسخه 22 این تغییرات بسیار اساسی بوده است. تغییرات مربوط به 22 (یا همان اندروید 5 به بالا) نیازمند یک مطلب جداگانه می‌باشد و در این آموزش مطرح نخواهد شد.

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

روش قدیمی ساخت نوتیفیکیشن

Capture

هنگام notify کردن notificationManager، از ما آیدی و نوتیفیکیشن خواسته شده است.

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

برای تست کردن کدمان، متد oldNotification را در onCreat اکتیویتی صدا می‌زنیم:

 

2

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

3

نوتیفیکیشن به همراه PendingIntent

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

4

  • وقتی روی نوتیفیکیشن کلیک شد، اکتیویتی‌ ActivityNotification باز خواهد شد.
  • همچنین می‌توانید صفحه برنامه ای را در مارکت‌ها به این شیوه باز کنید یا سرویسی را اجرا کرده و یک URL را باز کنید و …

نکته: فیلد NOTIFICATION_SERVICE که به داخل  getSystemService ارسال شده است، به دلیل این‌که این کد در اکتیویتی نوشته شده است و اکتیویتی خود یک  Context می‌باشد، نیازی به نوشتن کلاس Context و سپس فیلد NOTIFICATION_SERVICE نیست.

استفاده از کلاس Notification.Builder

 از اندروید 11 به بعد، کلاس Notification.Builder اضافه شده است که هم فرآیند ساخت Notification را ساده‌تر می‌کند و هم امکانات بیشتری را در اختیارمان قرار می‌دهد.

5

همانطور که باید بدانید، ساختارهای Builder نوعی از الگوری طراحی (Design Pattern) هستند و کلاس Notification نیز از این الگو بی‌بهره نیست و به سادگی می‌توان با استفاده از Builder به هدف مورد نظر رسید.

درس بعدی نوتیفیکشن در آندروید
تبلیغات
2 نظر
کانال تلگرام فول کده
تبلیغات

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

هادی اکبرزاده

[ مدیر فول کده ]

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده 2 دیدگاه