【问题标题】:node-gcm cordova android custom sound pushnode-gcm cordova android 自定义声音推送
【发布时间】:2020-02-13 02:20:01
【问题描述】:

我有一个关于 CORDOVA 的项目。连接到它 FCM。 说明表明我可以将声音设置为通知。

https://firebase.google.com/docs/cloud-messaging/http-server-refa

在服务器 (node.js) 上,我使用的是 node-gcm 模块。文档还说可以设置声音

https://www.npmjs.com/package/node-gcm

在项目本身中,声音文件在几个地方(只是为了案例):

cordova-root/

  1. test.mp3 res/raw/test.mp3
  2. res/android/raw/test.mp3
  3. platforms/android/res/raw/test.mp3
  4. platforms/android/app/src/main/res/raw/test.mp3

组装完成后,我检查了路径 res/raw/test.mp3 的 APK 文件中是否存在声音 - 它在那里。

我正在从服务器发送一条消息。它已成功显示在智能手机上,但声音默认。不是我设置的。

问题:如何让消息以正确的声音到达? 测试 ANDROID 9

var message = new gcm.Message({
  notification: {
    sound: 'test',
    title: "TITLE",
    body: "BODY",
  }
});

【问题讨论】:

    标签: android cordova push-notification firebase-cloud-messaging cordova-plugins


    【解决方案1】:

    从 Android 8 开始,有一个叫做NotificationChannel 的东西决定了通知优先级、声音、振动模式和 LED 颜色。这些频道设置推送有效载荷之间存在着永恒的冲突,似乎没有人知道哪一个优先于另一个。

    通知通道的设置既不能通过PushNotification.createChannel 方法也不能通过推送有效负载进行更改。在我的测试中,推送数据无法覆盖声音和 LED 颜色等内容。 (但是,您可以在有效负载中设置振动模式,如果您创建了一个激活了vibration 的频道,插件将尊重它。

    我的猜测是,您必须使用自定义声音名称 create a new notification channel,然后使用相同的声音发送推送(或者没有)。请记住,一旦创建,某些频道设置无法更改,即使您删除频道并使用相同的 ID 重新创建它。我的建议是忘记修改默认的PushPluginChannel,因为这是浪费时间:使用您喜欢的设置的新频道,然后开始测试会发生什么:

    • payload 中设置的声音文件与 createChannel 设置的声音文件
    • 有效载荷中设置的振动与 createChannel 设置的振动
    • 有效载荷中设置的 LED 颜色与 createChannel 设置的 LED 颜色

    如果您想弄清楚这些设置如何在搭载 Android 8 的三星手机和其他搭载 Android 9 的手机中发挥作用,您会获得很多乐趣。我几乎发疯了,试图在三星手机中设置 LED 颜色,但它在之后奏效了修改插件(v2.1.3)。

    【讨论】:

    • 感谢您的回答。我在phonegap-plugin-push的文档中没有找到任何关于LED的信息,可以在createChannel()参数中设置吗?
    • @АлександрМиронов 是的,您可以在 createChannel 中设置颜色,但这没有记录。请不要忘记在这里为有用的答案投票。
    • 请告诉我该怎么做?我做不到。例如 PushNotification.createChannel( () => '', () => '', led: true, // 不工作 light: true, // 不工作 light: true, // 不工作 ledColor: [ 0, 0, 255, 0], // 不起作用 lightColor: [0, 0, 255, 0] // 不起作用 )
    • @АлександрМиронов 我相信我在同一条船上。我认为问题在于将通知发送到您在离子应用程序中创建的频道。我无法找出它在 node-gcm 中的设置位置
    猜你喜欢
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多