Question: 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.

* I added the sound as a .caf
* I added the sound to the `Copy Bundle Resources`

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](https://i.stack.imgur.com/HtxBT.png)

Answer: 
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.
After much research I have not found any solution.
Under [Firebase Messaging Docs](https://firebase.google.com/docs/cloud-messaging/xmpp-server-ref), 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](https://itunes.apple.com/us/app/easy-apns-provider-push-notification/id989622350?mt=12) 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