নিম্নলিখিত মামলার উপর ভিত্তি করে onMessageRemitted (রিমোটমেসেজ রিমোটমেসেজ) পদ্ধতি বলা হয়।
- বিজ্ঞপ্তি এবং ডেটা ব্লক সহ এফসিএম প্রতিক্রিয়া :
{
"to": "device token list",
"notification": {
"body": "Body of Your Notification",
"title": "Title of Your Notification"
},
"data": {
"body": "Body of Your Notification in Data",
"title": "Title of Your Notification in Title",
"key_1": "Value for key_1",
"image_url": "www.abc.com/xyz.jpeg",
"key_2": "Value for key_2"
}
}
- অগ্রভাগে অ্যাপ্লিকেশন:
onMessageRemitted (রিমোটমেসেজ রিমোটমেসেজ) নামক নোটিফিকেশন বারে লার্জিকন এবং বিগপিকচার দেখায়। আমরা বিজ্ঞপ্তি এবং ডেটা ব্লক উভয় থেকেই সামগ্রীটি পড়তে পারি
- পটভূমিতে অ্যাপ:
onMessageReceived (RemoteMessage remoteMessage) বলা হয় না, সিস্টেম ট্রে বার্তা থেকে শরীর এবং শিরোনাম পড়তে হবে প্রজ্ঞাপন বিজ্ঞপ্তি বারের ব্লক এবং শো ডিফল্ট বার্তা ও শিরোনাম।
- কেবলমাত্র ডেটা ব্লক সহ এফসিএম প্রতিক্রিয়া :
এই ক্ষেত্রে, জসন থেকে বিজ্ঞপ্তি ব্লকগুলি সরিয়ে ফেলা হচ্ছে
{
"to": "device token list",
"data": {
"body": "Body of Your Notification in Data",
"title": "Title of Your Notification in Title",
"key_1": "Value for key_1",
"image_url": "www.abc.com/xyz.jpeg",
"key_2": "Value for key_2"
}
}
ম্যাসেজের জন্য কল করার সমাধান (প্রাপ্ত)
- অগ্রভাগে অ্যাপ্লিকেশন:
onMessageRemitted (রিমোটমেসেজ রিমোটমেসেজ) নামক নোটিফিকেশন বারে লার্জিকন এবং বিগপিকচার দেখায়। আমরা বিজ্ঞপ্তি এবং ডেটা ব্লক উভয় থেকেই সামগ্রীটি পড়তে পারি
- পটভূমিতে অ্যাপ:
onMessageRe प्राप्त (রিমোটমেসেজ রিমোটমেসেজ) কল করা হয়েছে , নোটিফিকেশন কী সাড়া না পাওয়ায় সিস্টেম ট্রে বার্তাটি গ্রহণ করবে না । নোটিফিকেশন বারে লার্জ আইকন এবং বিগপিকচার দেখায়
কোড
private void sendNotification(Bitmap bitmap, String title, String
message, PendingIntent resultPendingIntent) {
NotificationCompat.BigPictureStyle style = new NotificationCompat.BigPictureStyle();
style.bigPicture(bitmap);
Uri defaultSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
String NOTIFICATION_CHANNEL_ID = mContext.getString(R.string.default_notification_channel_id);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "channel_name", NotificationManager.IMPORTANCE_HIGH);
notificationManager.createNotificationChannel(notificationChannel);
}
Bitmap iconLarge = BitmapFactory.decodeResource(mContext.getResources(),
R.drawable.mdmlogo);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(mContext, NOTIFICATION_CHANNEL_ID)
.setSmallIcon(R.drawable.mdmlogo)
.setContentTitle(title)
.setAutoCancel(true)
.setSound(defaultSound)
.setContentText(message)
.setContentIntent(resultPendingIntent)
.setStyle(style)
.setLargeIcon(iconLarge)
.setWhen(System.currentTimeMillis())
.setPriority(Notification.PRIORITY_MAX)
.setChannelId(NOTIFICATION_CHANNEL_ID);
notificationManager.notify(1, notificationBuilder.build());
}
রেফারেন্স লিংক:
https://firebase.google.com/docs/cloud-messaging/android/receive