10

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.

Luís Jesus
  • 1,628
  • 5
  • 21
  • 33

1 Answers1

25

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"
  }
}  
Community
  • 1
  • 1
Luís Jesus
  • 1,628
  • 5
  • 21
  • 33
  • I want to test static notification.how can i test using fcmid?and where can i find fcmid? – Krutarth Patel Dec 31 '16 at 05:27
  • @ Krutarth Patel, `let refreshedToken = FIRInstanceID.instanceID().token()` at `didRegisterForRemoteNotificationsWithDeviceToken` – Arnab Oct 27 '17 at 12:14
  • I was getting a success on the send but never received the message on my device. The docs mention having the "to" after the notification dictionary and changing it to this structure solved my problem. I also noticed not including a title made it stop working. It at least had to be blank. – Steee Sep 21 '19 at 15:45