final FirebaseMessaging firebaseMessaging =FirebaseMessaging();FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =newFlutterLocalNotificationsPlugin();Future<Map<String, dynamic>> sendAndRetrieveMessage() async {
await firebaseMessaging.requestNotificationPermissions(constIosNotificationSettings(
sound:true, badge:true, alert:true, provisional:false),);}
var initializationSettingsAndroid =newAndroidInitializationSettings('@mipmap/ic_launcher');
var initializationSettingsIOS =newIOSInitializationSettings();
var initializationSettings =newInitializationSettings(
android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
flutterLocalNotificationsPlugin =newFlutterLocalNotificationsPlugin();
flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);Future<dynamic> onSelectNotification(String payload) async {/*Do whatever you want to do on notification click. In this case, I'll show an alert dialog*/
showDialog(
context: context,
builder:(_)=>AlertDialog(
title:Text(payload),
content:Text("Payload: $payload"),),);}Future<void> _showNotification(int notificationId,String notificationTitle,String notificationContent,String payload,{String channelId ='1234',String channelTitle ='Android Channel',String channelDescription ='Default Android Channel for notifications',Priority notificationPriority =Priority.high,Importance notificationImportance =Importance.max,}) async {
var androidPlatformChannelSpecifics =newAndroidNotificationDetails(
channelId,
channelTitle,
channelDescription,
playSound:false,
importance: notificationImportance,
priority: notificationPriority,);
var iOSPlatformChannelSpecifics =newIOSNotificationDetails(presentSound:false);
var platformChannelSpecifics =newNotificationDetails(
android: androidPlatformChannelSpecifics, iOS: iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.show(
notificationId,
notificationTitle,
notificationContent,
platformChannelSpecifics,
payload: payload,);}
notification(){
firebaseMessaging.configure(
onMessage:(Map<String, dynamic> message) async {
_showNotification(1234,"GET title FROM message OBJECT","GET description FROM message OBJECT","GET PAYLOAD FROM message OBJECT");return;// print("onMessage: $message");},
onLaunch:(Map<String, dynamic> message) async {
print("onLaunch: $message");},
onResume:(Map<String, dynamic> message) async {
print("onResume: $message");},);}
الكود اعلاه هو كود جلب الاشعارات وعرضها في التطبيق من خلال FCM
الكود شغال بشكل طبيعي على الاندرويد و iOS
لو حاولت تعديل السطر التالي من الشكال :
_showNotification(1234,"GET title FROM message OBJECT","GET description FROM message OBJECT","GET PAYLOAD FROM message OBJECT");
الى الشكل :
_showNotification(1234, message['notification']['title'], message['notification']['body'],"GET PAYLOAD FROM message OBJECT");
حتى استطيع عرض محتوى الاشعار والعنوان الكود يصبح في الاندويد شغال 100%100 ولكن في نظام iOS لا يعمل ابدا
ما هو الحل كيف يمكن عرض المحتوى والعنوان من خلاله ؟
مع العلم انني كما ذكرت سابقا لو كان بشكل الافتراضي الاول فهو يعمل بشكل ممتاز على كل الانظمة بمعنى لا يوجد لا توجد اي مشكله ولكن احتاج الى عرض العنوان والمحتوى
السؤال
Flutter Dev
السلام عليكم ورحمة الله وبركاته
الكود اعلاه هو كود جلب الاشعارات وعرضها في التطبيق من خلال FCM
الكود شغال بشكل طبيعي على الاندرويد و iOS
لو حاولت تعديل السطر التالي من الشكال :
الى الشكل :
حتى استطيع عرض محتوى الاشعار والعنوان الكود يصبح في الاندويد شغال 100%100 ولكن في نظام iOS لا يعمل ابدا
ما هو الحل كيف يمكن عرض المحتوى والعنوان من خلاله ؟
مع العلم انني كما ذكرت سابقا لو كان بشكل الافتراضي الاول فهو يعمل بشكل ممتاز على كل الانظمة بمعنى لا يوجد لا توجد اي مشكله ولكن احتاج الى عرض العنوان والمحتوى
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.