Mentos
Mentos

Reputation: 483

Firebase push notifications custom sound

I am currently working on an app and I have implement firebase Push Notification service into my app. I am recieving notification on my iphone but I am unable to set the custom alert sound that I want.

using print (userInfo) I have collected this data that is incomming from Firebase

aps: {
alert =     {
    body = MSG;
    title = Title;
};
sound = default;}, {...}, sound: alarm.caf

I understand where the problem is, I just dont understand how to fix it so that the app plays my custom notification sound.

Firebase notification console IMG

Upvotes: 13

Views: 11149

Answers (3)

Heshan Sandeepa
Heshan Sandeepa

Reputation: 3688

It's been over 5 years, but if someone still looking for an answer, here is what I did.

  1. Make sure you have configured Firebase Messaging & receiving Notifications.

  2. Add .caf ( sound file ) to the app. It must be visible on 'Target' - > 'Build Phases' & then under 'Copy Bundle Resources'

enter image description here

  1. Delete the app from the device ( This is important )

  2. I use Postman as my server, so message format would be,

    { 
     "notification": {
     "title": "Hello",
     "sound":"small_message.caf",
     "body": "You have a new Job"
    },
    
    "to": "your device token"
    }
    

Upvotes: 1

Noblak
Noblak

Reputation: 71

Problem with Firebase is that you can not send sound parameter like custom parameter with Firebase Console, if you try this as you do, you will get this parameter in app outside of aps Dictionary and the system will not recognize it as a sound to be played although the sound file is into the project.

The only solution for this problem is you have some API/server through which you'll be sent a Firebase notification. When server send you a notification with sound param it will be within aps Dictionary and application will play this sound when the notification arrives.

Upvotes: 6

Mentos
Mentos

Reputation: 483

After much research I have not found any solution. Under Firebase Messaging Docs, and

Table 2a. iOS — keys for notification messages

it is indicated that Firebase does allow for the Sound key to be included in the payload but as seen in the code printed by didRecieveRemoteNotification,

aps: {
alert =     {
    body = MSG;
    title = Title;
};
sound = default;}, {...}, sound: alarm.caf

Firebase doesn't include the Sound key inside the aps hence not calling the sound key by the app.

The workaround that I used for my app is Easy APNs Provider which is a handy and easy app to use for development purposes, a major issue is that it doesn't have the ability to register and remove notifications automatically.

lastly: for Push Notifications to my published apps, I have opted for a dedicated server which I run off of my website

Upvotes: 1

Related Questions