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

Notification در اندروید — راهنمای کامل و کاربردی

Notification در اندروید

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

اگر قصد دارید برنامه‌نویسی اندروید را شروع کنید، پیش از هر چیز لازم است Android Studio را نصب کنید.
در مقاله راهنمای نصب، مرحله‌به‌مرحله همه چیز توضیح داده شده است:

آموزش نصب Android Studio

همچنین اگر به دنبال یادگیری اصولی برنامه‌نویسی اندروید هستید، پیشنهاد می‌کنم صفحه دوره کامل را بررسی کنید:

دوره آموزش برنامه‌نویسی اندروید

Notification در اندروید

Notification در اندروید چیست؟

Notification پیامی است که خارج از محیط برنامه و در نوار وضعیت (Status Bar) نمایش داده می‌شود. کاربر می‌تواند این اعلان را باز کرده و جزئیات مربوطه را مشاهده کند. سیستم اندروید کنترل کامل نوار اعلان و پنل کشویی را بر عهده دارد و کاربر در هر لحظه به این اعلان‌ها دسترسی دارد.

نمونه کاربردهای Notification:

  • دریافت پیام جدید (مثل تلگرام یا واتس‌اپ)
  • اعلام بروزرسانی نرم‌افزار
  • نمایش وضعیت دانلود
  • هشدارهای سیستمی مثل کمبود حافظه
  • یادآوری رویدادها

ایجاد Notification Channel در اندروید

در اندروید ۸ (API 26) و بالاتر، قبل از ارسال اعلان باید یک Notification Channel بسازید:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NotificationManager mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// The ID of the channel.
String id = "my_channel_01";
// The user visible name of the channel.
CharSequence name = getString(R.string.channel_name);
// The user visible description of the channel.
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
// Configure the notification channel.
mChannel.setDescription(description);
mChannel.setShowBadge(false);
mNotificationManager.createNotificationChannel(mChannel);

تنظیم شمارنده پیام روی Notification

برای نمایش تعداد پیام‌ها، از متد setNumber() استفاده کنید:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
int notificationID = 1;
String CHANNEL_ID = "my_channel_01";
int messageCount = 3;
NotificationCompat notification =
        new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
            .setContentTitle("New Messages")
            .setContentText("You've received 3 new messages.")
            .setSmallIcon(R.drawable.ic_notify_status)
            .setNumber(messageCount)
            .build();
mNotificationManager.notify(notificationID, notification);

پاسخ سریع به اعلان‌ها (Direct Reply)

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

 

نمایش اعلان‌های گسترده (InboxStyle)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this, CHANNEL_ID)
            .setSmallIcon(R.drawable.notification_icon)
            .setContentTitle("Event tracker")
            .setContentText("Events received");
NotificationCompat.InboxStyle inboxStyle =
        new NotificationCompat.InboxStyle();
String[] events = new String[6];
// Sets a title for the Inbox in expanded layout
inboxStyle.setBigContentTitle("Event tracker details:");
// Moves events into the expanded layout
for (int i = 0; i < events.length; i++) {
    inboxStyle.addLine(events[i]);
}
// Moves the expanded layout object into the notification object.
mBuilder.setStyle(inboxStyle);
نوتیفیکشن اندروید

نکات مهم سازگاری نسخه‌ها (Compatibility)

برای سازگاری اعلان‌ها روی نسخه‌های قدیمی Android:

 همیشه از NotificationCompat.Builder استفاده کنید

این کلاس نسخه سازگار اعلان‌ها را برای همه API ها ایجاد می‌کند.

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

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

 هنگام کلیک روی Notification یک Activity را اجرا کنید

اکثر اعلان‌ها کاربر را به صفحه مشخصی هدایت می‌کنند.

Replying to notifications

جمع‌بندی

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

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

و اگر قصد دارید اندروید را به‌صورت پروژه محور و از صفر یاد بگیرید:
دوره جامع آموزش اندروید

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

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