Я хочу отправлять уведомления пользователям операционных систем Android и iOS через свой сервер. И я использую curl для отправки сообщения, оно выглядит так:
$fields = array(
'condition' => $cond,
'priority' => 'high',
'content_available' => true,
'notification' => $message['data'],
'data' => $message
);
Если я полностью удалю поле уведомление из моего запроса к серверу. Отправлять только поле данные и обрабатывать его в onMessageReceived(), затем я очень хорошо получаю данные уведомления в ОС Android, но уведомление в операционной системе IOS не получено. Но если я полностью добавлю поле уведомление из моего запроса на сервер. Операционная система IOS получила хорошее уведомление, а затем операционная система Android по-прежнему получает уведомление, но не получает данные в onMessageReceived().
Я хочу, чтобы обе операционные системы могли получать уведомления и данные
Вы должны отправить уведомление и данные оба. В противном случае это не сработает. Я не знаю, как это сделать на 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