Проблема с push-уведомлением с firebase на Android и IOS?

Я хочу отправлять уведомления пользователям операционных систем Android и iOS через свой сервер. И я использую curl для отправки сообщения, оно выглядит так:

$fields = array(
        'condition' => $cond,
        'priority' => 'high',
        'content_available' => true,
        'notification' => $message['data'],
        'data' => $message
    );

Если я полностью удалю поле уведомление из моего запроса к серверу. Отправлять только поле данные и обрабатывать его в onMessageReceived(), затем я очень хорошо получаю данные уведомления в ОС Android, но уведомление в операционной системе IOS не получено. Но если я полностью добавлю поле уведомление из моего запроса на сервер. Операционная система IOS получила хорошее уведомление, а затем операционная система Android по-прежнему получает уведомление, но не получает данные в onMessageReceived().

Я хочу, чтобы обе операционные системы могли получать уведомления и данные

0
0
58
1

Ответы 1

Вы должны отправить уведомление и данные оба. В противном случае это не сработает. Я не знаю, как это сделать на php, но я сделал это через API (почтальон). это пример

  {
     "to" : "f77ydJXI- ps:APA91bFoueDSpV0ya8CngPxOFGG4nHjTGoYMv7Bl2pbu1f1",
   "notification" : {
    "click_action" : "Notification_activity", 
    "body" : "new Symulti update !", 
    "title" : "new Symulti update !", 
    "icon" : "ic_notification" },
    "data" : {
      "body" : "First Notification backgraound",
      "title": "Collapsing A Backgraound",
      "key_1" : "Okay this is test",
      "key_2" : "4:24 pm 5/20/18"
}
}

Вы можете найти полный пример в этом

https://gist.github.com/Muhaiminur/f0d05f53fb2b0f5a6f3419c6514f0ca5

Другие вопросы по теме