13

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

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

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

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

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

Firebase 通知控制台 IMG

4

3 回答 3

5

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

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

于 2017-02-01T13:19:44.267 回答
1

经过大量研究,我没有找到任何解决方案。在Firebase 消息传递文档下,以及

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

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

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

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

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

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

于 2016-09-02T16:13:07.327 回答
1

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

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

  2. 将 .caf(声音文件)添加到应用程序。它必须在“目标”->“构建阶段”上可见,然后在“复制捆绑资源”下

在此处输入图像描述

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

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

    { 
     "notification": {
     "title": "Hello",
     "sound":"small_message.caf",
     "body": "You have a new Job"
    },
    
    "to": "your device token"
    }
    
于 2022-02-01T11:12:40.483 回答