Firebase推送通知自定义声音

Men*_*tos 11 iphone ios firebase firebase-notifications

我目前正在开发一个应用程序,我已经在我的应用程序中实现了firebase推送通知服务.我收到了我的iphone上的通知,但我无法设置我想要的自定义警报声.

  • 我将声音添加为.caf
  • 我把声音加到了 Copy Bundle Resources

使用print (userInfo)我收集了来自Firebase的数据

aps: {
alert =     {
    body = MSG;
    title = Title;
};
sound = default;}, {...}, sound: alarm.caf
Run Code Online (Sandbox Code Playgroud)

我明白问题所在,我只是不明白如何解决它,以便应用程序播放我的自定义通知声音.

Firebase通知控制台IMG

Nob*_*lak 5

Firebase 的问题是你不能像使用 Firebase 控制台发送自定义参数一样的声音参数,如果你这样做,你会在 app 字典之外的应用程序中得到这个参数,系统不会将它识别为要播放的声音虽然声音文件在项目中。

此问题的唯一解决方案是您有一些API/服务器,通过它您将收到 Firebase 通知。当服务器向您发送带有声音参数的通知时,它将在 aps 字典中,当通知到达时,应用程序将播放此声音。


Men*_*tos 1

经过大量研究后,我没有找到任何解决方案。\n在Firebase Messaging Docs下,以及

\n\n
\n

表 2a. iOS \xe2\x80\x94 用于通知消息的键

\n
\n\n

这表明 Firebase 确实允许将声音键包含在有效负载中,但如 打印的代码所示didRecieveRemoteNotification

\n\n
aps: {\nalert =     {\n    body = MSG;\n    title = Title;\n};\nsound = default;}, {...}, sound: alarm.caf\n
Run Code Online (Sandbox Code Playgroud)\n\n

Firebase 不包含声音键,aps因此应用程序不会调用声音键。

\n\n

我的应用程序使用的解决方法是Easy APNs Provider,这是一个方便且易于用于开发目的的应用程序,一个主要问题是它无法自动注册和删除通知。

\n\n

最后:对于我发布的应用程序的推送通知,我选择了在我的网站上运行的专用服务器

\n