我们正在尝试从无声 FCM 推送迁移到大声推送(即从应用管理的 "data":{}
迁移到 "notification": {}/
原因)。
通过大声推送,FCM 客户端框架会自动创建一个通知。因此:
- 我没有它的 ID,所以我可以修改它
- 我无法控制它的 channel ID(这对启动 Oreo 很重要)。
- 不确定我的服务器是否有办法为其请求特定的通知声音(与 iOS 中的方式相同)。实际上,我可以通过
onRemoteMessage()
做到这一点,但自动生成的通知会播放默认的哔哔声,这会导致两种声音都发出有趣的声音。
我该如何解决这些问题?
谢谢
最佳答案
在 FCM 客户端框架使用通知负载数据自动创建通知时的通知负载情况下。 通知负载包含一个声音 key ,因此您必须从服务器端设置它。
例如:
{
"to" : "yourToken",
"notification" : {
"body" : "Notification Body",
"title" : "Notification Title",
"sound" : "/res/raw/yourSoundResourceFile"
}
}
根据 firebase 文档,声音是一个可选字符串
支持应用程序中 bundle 的声音资源的“默认”或文件名。声音文件必须位于/res/raw/。
关于Android:如何找到 Id/修改/关闭来自 FCM 大推的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927198/