如何使用 JavaScript (PWA) 在 Android 设备上为 FCM 创建 channel_ID?
Posted
技术标签:
【中文标题】如何使用 JavaScript (PWA) 在 Android 设备上为 FCM 创建 channel_ID?【英文标题】:How to create a channel_ID for FCM on an Android device in JavaScript (PWA)? 【发布时间】: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"
?会不会是其他问题?
**编辑:**我找到了一个临时解决方案。我转到设置/通知,然后手动打开。不是很好,但现在总比没有好。
【问题讨论】:
遇到同样的问题,请参阅***.com/questions/67862991/…。 3个月了还是没有答案…… 我明白了。到目前为止,我发现的唯一解决方法基本上是在设置/通知/应用程序名称中手动打开。至少对我来说原型已经足够了。 【参考方案1】:您需要使用AndroidNotification
,它提供属性channel_id
。
但是,这似乎只在 REST API 上可用 - 但 JS 可以访问它。
【讨论】:
以上是关于如何使用 JavaScript (PWA) 在 Android 设备上为 FCM 创建 channel_ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 JavaScript 显示“PWA Web 应用程序图标”的计数?
为啥使用 JavaScript 在我的 PWA 上重复该位置?
在 iOS 中使用 JavaScript 在 PWA 中显示服务器生成的图像