HTTP v1 API:用于 webpush 通知的“click_action”
Posted
技术标签:
【中文标题】HTTP v1 API:用于 webpush 通知的“click_action”【英文标题】:HTTP v1 API: "click_action" for webpush notification 【发布时间】:2018-03-08 16:02:17 【问题描述】:FCM 中的文档主要关注 android/ios,而我卑微的 webpush
正在与 click_action
斗争。
click_action
是一个可用于旧 API 的密钥,但似乎不再可用于 webpush
。
对此的唯一具体参考是在这篇博文中:https://firebase.googleblog.com/2017/11/whats-new-with-fcm-customizing-messages.html,它再次关注 iOS 和 Android。
我正在寻求澄清,click_action
现在确实不支持 webpush
消息。
【问题讨论】:
见我的answer here。虽然这是为 Legacy 准备的。我看不出他们为什么会在 v1 中删除它 如果受支持,则不会记录为 WebpushConfig 选项、配置标头属性或 WebpushNotification 选项。 【参考方案1】:Click_action 对我有用,但我认为它还没有记录。
我在 webpush -> 通知 -> click_action 中添加了它。
编辑:HTTP v1 API 中提供了一个新选项。
【讨论】:
你使用的是FCM HTTP v1 API
?
当然。因为旧版并未授权通知的所有参数。
我可以确认click_action
在FCM HTTP v1
中不起作用。具体来说:“消息”:“收到无效的 JSON 有效负载。'message.webpush' 处的未知名称 \"click_action\":找不到字段。
对我来说效果很好。我正在寻找为什么它对我没问题而不是对你。 "message":"topic":"push-test","webpush":"notification":"actions":[],"tag":123456,"title":"Titre de test"," body":"取消通知","image":".\/images\/icon.png","badge":".\/images\/badge.png","icon":".\/图片\/icon256.png","振动":[50,200,50],"click_action":"\/","数据":"time":"1531396372","headers":"TTL" :"60"
在 message.webpush.notification 中添加 click_action。【参考方案2】:
使用您的WebpushNotification.Builder
对象并调用putCustomData()
方法,其中click_action
作为键,您的click_action
URL 作为值。
使用 Java Firebase Admin SDK,它看起来像这样:
wpnb.putCustomData("click_action", "<your_url_here>");
【讨论】:
【参考方案3】:您可以在 Web 推送负载的数据字段中包含您想要的任何键=>值对。
在您的 Service Worker 中注册一个 notificationclick 事件侦听器,这些数据值在您的通知被点击时触发的事件中可用。访问您的数据,然后执行所需的点击操作。
【讨论】:
我可能会误解,但据我所知,FCM HTTP v1 API
没有关于使用服务人员的文档。
这是 FCM API 的文档,所以我不希望它涵盖服务人员。他们记录了您可以在这里创建的不同类型的通知firebase.google.com/docs/reference/fcm/rest/v1/…,并且有许多网站解释了 service workers api。使用 Web Push 格式为您提供了更多选项来自定义通知以及跟踪用户与它们的交互【参考方案4】:
得到多个消息来源的证实。 Firebase 云消息传递上的 HTTP V1 中的 WebPush 目前不支持 click_action
。伤心!
【讨论】:
为什么不把它放在一个单独的任意数据数组中?以上是关于HTTP v1 API:用于 webpush 通知的“click_action”的主要内容,如果未能解决你的问题,请参考以下文章