возникла проблема при отображении уведомления на ios физическом устройстве, не знаю, где я допустил ошибку, уведомление ios работает на симуляторе, но когда я тестирую его на физическом iPhone, оно не работает.
setUpLocalNotification() async {
//Local Notification Configuration--------
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
var initializationSettingsAndroid = AndroidInitializationSettings('logo');
var initializationSettingsIOS = IOSInitializationSettings(
requestSoundPermission: true,
requestBadgePermission: true,
requestAlertPermission: true,
onDidReceiveLocalNotification: onDidReceiveLocalNotification,
);
var initializationSettings = InitializationSettings(
initializationSettingsAndroid, initializationSettingsIOS);
await flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);
//end local notification
}
вот то, что имеет
Future onDidReceiveLocalNotification(
int id, String title, String body, String payload) async {
// display a dialog with the notification details, tap ok to go to another page
showDialog(
context: context,
builder: (BuildContext context) => CupertinoAlertDialog(
title: Text(title),
content: Text(body),
actions: [
CupertinoDialogAction(
isDefaultAction: true,
child: Text('Ok'),
onPressed: () async {
Navigator.of(context, rootNavigator: true).pop();
},
)
],
),
);
}
_firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print('---------------, message recied');
_showNotificationWithDefaultSound(message);
},
onLaunch: (Map<String, dynamic> message) async {
print('test on laucnh---');
navigateUser(message);
},
onResume: (Map<String, dynamic> message) async {
print('------=-=-=-=');
navigateUser(message);
// TODO optional
},
);
в сообщении, действительно работает на симуляторе и android физическом устройстве, но когда дело доходит до iOS уведомление работает на симуляторе, но не на физическом устройстве
Future _showNotificationWithDefaultSound(Map<String, dynamic> message) async {
var iOSPlatformChannelSpecifics = new IOSNotificationDetails();
var androidPlatformChannelSpecifics = new AndroidNotificationDetails(
'your chnnel id', 'your channel name', 'your channel description',
importance: Importance.Max, priority: Priority.High);
var platformChannelSpecifics = new NotificationDetails(
androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.show(
98,
message['notification']['title'],
message['notification']['body'],
platformChannelSpecifics,
payload: JsonEncoder.withIndent(" ").convert(message),
);
}