Итак, я отправляю fcm через PHP
$msg = array
(
'badge' => '1',
'body' => $notificationBody,
'tag' => "185",
'title' => $notificationTitle,
'icon' => 'myicon',
'sound' => 'mySound',
'priority' => 'high',
'show_in_foreground' => True,
'click_action' => 'FLUTTER_NOTIFICATION_CLICK',
);
$fields = array
( 'to' => $toNotification,
'notification' => $msg );
$headers = array
(
'Authorization: key=MyKEEEy',
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
print_r($result);
curl_close($ch);
Пока он работает на Android, даже когда я не открываю приложение.Но когда я пытаюсь сделать это на моем эмуляторе ios, уведомление отображается только при открытии приложения.
мой файл флаттера
_fcm.configure(
onMessage: (Map<String, dynamic> message) async {
setState(() {
_counter++;
});
showDialog(
context: context,
builder: (context) => AlertDialog(
content: ListTile(
title: Text(message['notification']['title']),
subtitle: Text(message['notification']['body']),
),
actions: <Widget>[
FlatButton(
child: Text('Ok'),
onPressed: () {
Navigator.of(context).pop();
setState(() {
_counter = _counter - 1;
});
},
),
],
),
);
},
onLaunch: (Map<String, dynamic> message) async {
print("launch");
},
onResume: (Map<String, dynamic> message) async {
print("resume");
},
);
я уже добавляю ключ apn в firebase
Как я могу это исправить?я что-то пропустил?