10
votes

I'm using Google's Firebase Cloud Messaging to send push-notifications to my iOS and Android applications. The push-notifications sent through the Cloud Messaging console work just as intended, however when I send a push-notification through the API, the iOS application only receives it when in foreground. On Android, it is working correctly (both in foreground and background).

Reading the documentation, the iOS system would then transfer the "notification" object to the system tray, as intended, showing the "body" message. However, this is not working.

Here's the content of the JSON I'm sending:

{
    "notification":
        {
            "body": "This a test notification"
        },
        "to":"eQ5tiy0cMZ8:APA91bE4CCjDXEJxEIRxKY18pXMMGUBqY1OKJFhVbR-pNhvQjJuhPcc7pXa..."
}

Did anyone have similar problems using Firebase Cloud Messaging recently? Thank you.

1
I've been dealing with the same issue lately, pretty sure it used to work before.Petr Pavlík
Do you know when it started to happen? Did you manage to find any solutions? ThanksLuís Jesus
I actually found out that the productions notifications seem to work fine but sandbox notifications don't seem to be delivered.Petr Pavlík

1 Answers

25
votes

I managed to fix the problem thanks to this answer: https://stackoverflow.com/a/37550067/516338

Basically, although NOT in the documents, you have to set the "priority" field to "high" on iOS, like this:

{   
  "to": "cHPpZ_s14EA:APA91bG56znW...",
  "priority": "high",
  "notification" : {
    "body" : "hello!",
    "title": "afruz",
    "sound": "default"
  }
}