【发布时间】:2021-11-05 08:47:45
【问题描述】:
在我的 PWA 应用中,某些设备在收到推送通知时不会播放声音。我猜是因为在Android O之后,必须有一个频道ID,否则不能播放声音。
这是我发送到 FCM 服务器的代码:
const toSend ={
notification:
{
title:"Video Call!",
body:"Video call!",
click_action: "...",
sound: "default",
vibrate: [200, 100, 200, 100, 200, 100, 200]
},
to:othermailandtoken[1]
};
根据下面的文档,我需要添加“channel_id”。但是,我发现的所有实现都是 Java (Android),但我的应用程序是 JavaScript (PWA) https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#androidnotification
"channel_id 字符串
通知的频道 ID(Android O 中的新功能)。该应用程序必须创建 在任何通知之前具有此频道 ID 的频道 收到频道 ID。如果您未在 请求,或者如果提供的频道 ID 尚未由 应用,FCM 使用应用清单中指定的通道 ID。”
那么如何创建可以从 JavaScript 发送到应用程序的 channel_id?
或者有没有其他方法可以让更新的 android 版本播放收到的sound: "default"?会不会是其他问题?
**编辑:**我找到了一个临时解决方案。我转到设置/通知,然后手动打开。不是很好,但现在总比没有好。
【问题讨论】:
-
遇到同样的问题,请参阅stackoverflow.com/questions/67862991/…。 3个月了还是没有答案……
-
我明白了。到目前为止,我发现的唯一解决方法基本上是在设置/通知/应用程序名称中手动打开。至少对我来说原型已经足够了。
标签: javascript android firebase firebase-cloud-messaging progressive-web-apps