【问题标题】:Firebase push notifications custom soundFirebase 推送通知自定义声音
【发布时间】:2016-08-07 06:38:11
【问题描述】:

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

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

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

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

我知道问题出在哪里,我只是不明白如何解决它,以便应用播放我的自定义通知声音。

【问题讨论】:

  • 你的问题得到了答案。如果是,请在答案区更新它。其他人可能会受益
  • 我启用了声音(你在图像中禁用了它)并将键“声音”设置为我的自定义声音的文件名,但是 userInfo[“aps”][“sound”] 仍然只是“默认”
  • 我收到来自 fcm 的通知。现在,我想做一些功能,比如我什么时候会从 fcm 收到通知,应用程序应该播放声音文件,甚至不需要触摸通知消息。你知道怎么做吗 ? didRecieveRemoteNotification 只会在用户点击通知时执行。但我想播放声音文件,如闹钟曲调。请指导我完成它。

标签: ios iphone firebase firebase-notifications


【解决方案1】:

Firebase 的问题是您无法使用 Firebase 控制台发送 声音参数 之类的自定义参数,如果您尝试这样做,您将在 aps 字典和系统之外的应用程序中获取此参数尽管声音文件在项目中,但不会将其识别为要播放的声音。

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

【讨论】:

  • 不确定您和@Mentos 的回复为何被否决;您准确地描述了我在使用 Firebase 控制台消息传递时也面临的问题。
  • 我收到来自 fcm 的通知。现在,我想做一些功能,比如什么时候我会从 fcm 收到通知,应用程序应该播放声音文件,甚至不需要触摸通知消息。你知道怎么做吗 ? didRecieveRemoteNotification 只会在用户点击通知时执行。但我想播放声音文件,如闹钟曲调。请指导我完成它。
  • @Moxarth 你有解决问题的办法吗?
【解决方案2】:

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

表 2a。 iOS — 通知消息的键

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

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

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

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

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

【讨论】:

  • 我收到来自 fcm 的通知。现在,我想做一些功能,比如什么时候我会从 fcm 收到通知,应用程序应该播放声音文件,甚至不需要触摸通知消息。你知道怎么做吗 ? didRecieveRemoteNotification 只会在用户点击通知时执行。但我想播放声音文件,如闹钟曲调。请指导我完成它。
【解决方案3】:

已经 5 年多了,但如果有人还在寻找答案,这就是我所做的。

  1. 确保您已配置 Firebase 消息和接收通知。

  2. 将 .caf(声音文件)添加到应用程序。它必须在 'Target' -> 'Build Phases' & 然后在 'Copy Bundle Resources' 下

  1. 从设备中删除应用程序(这很重要)

  2. 我使用 Postman 作为我的服务器,所以消息格式是,

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

【讨论】:

    猜你喜欢
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多