【发布时间】:2020-04-11 22:50:21
【问题描述】:
我正在开发一个 cordova 应用程序并使用 cordova-fcm 插件在我的应用程序上启用推送通知。一切正常,插件可以检索令牌,订阅频道,我可以使用 FCM HTTP v1 API 向我的设备发送通知。问题是设备不播放任何声音!我尝试将有效负载设置为“声音”:“默认”或放在 res/raw 目录中的自定义声音文件,但没有运气。现在我查看了上述插件的源代码,发现 onMessageReceived 回调没有使用 notificationManager.notify() 转发通知的代码。现在我在这里感到困惑。当我阅读 FCM 文档时,我的理解是,当在后台收到消息或应用程序被杀死时,消息由系统处理,我不需要对 notificationManager.notify() 做任何事情。我理解正确吗?有效载荷还有一个“声音”属性,文档中提到我可以传递“默认”或我放在 res/raw 目录中的任何自定义文件名。那么这是如何处理的,我的意思是需要播放哪个声音?这是由系统处理的吗?另外,如果我实现了notificationManager.notify(),那么我该如何根据接收到的payload中的“sound”属性进行setSound()?
这是我尝试过的有效载荷...
{
'message': {
"topic": "all",
'notification': {
'title': 'FCM Notification',
'body': 'Notification from FCM',
},
"android": {
"priority": "high",
"notification": {
"sound": "default",
"click_action": "FCM_PLUGIN_ACTIVITY"
}
}
}
}
【问题讨论】:
标签: android firebase-cloud-messaging cordova-plugin-fcm