Уведомление о флаттере не отображается при закрытии приложения - PullRequest
0 голосов
/ 26 сентября 2019

Итак, я отправляю 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

Как я могу это исправить?я что-то пропустил?

1 Ответ

0 голосов
/ 26 сентября 2019

Симулятор iOS не получает push-уведомления.Вы должны быть запущены на реальном устройстве

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...