【发布时间】:2017-06-09 04:35:03
【问题描述】:
我正在尝试在不使用 GCM/FCM 的情况下在 Chrome 中进行网络推送通知。可能吗?我找不到有关如何使用不同推送服务的示例。
【问题讨论】:
标签: google-chrome push-notification google-cloud-messaging firebase-cloud-messaging web-push
我正在尝试在不使用 GCM/FCM 的情况下在 Chrome 中进行网络推送通知。可能吗?我找不到有关如何使用不同推送服务的示例。
【问题讨论】:
标签: google-chrome push-notification google-cloud-messaging firebase-cloud-messaging web-push
可以使用 Service Worker 来完成。这是新的 w3c 功能。
我还没试过,不过你可以看看:
https://developers.google.com/web/fundamentals/getting-started/codelabs/push-notifications/
它不兼容所有浏览器。参考:http://caniuse.com/#feat=serviceworkers
【讨论】:
不,不能使用其他推送服务。
在 Firefox 中,您可以通过修改 dom.push.serverURL 首选项来做到这一点,但显然您需要特权访问才能更改首选项的值。
您可以使用第三方服务来实现推送通知,但它们会在底层使用 Web Push API(因此在 Firefox 上使用 Autopush,在 Chrome 上使用 GCM/FCM)。
【讨论】:
是的。使用 VAPID 规范和服务工作者,您可以在没有 FCM/GCM 的情况下使用 Web 推送通知。有关更多信息,请查看下面的谷歌文档。
https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/how-push-works
【讨论】:
gcm_sender_id developers.google.com/web/updates/2016/07/web-push-interop-wins 的好参考
我使用了将 VAPID 用于 WebPush。这适用于 Firefox 和 IE Edge 浏览器。但不能在 Chrome 浏览器中发送邮件。 再次在 Firefox 中操作似乎不起作用。而在 IE Edge 中,通知操作按钮将起作用
【讨论】:
可惜这里的建议太糟糕了
是的,您可以使用 https websockets 以及一个名为 SignalR 的 Microsoft 项目,它甚至“不需要”浏览器支持,即无论如何它都可以在 javascript 中工作
我提到 SignalR 的原因是,将机制降级到适合的赌注,以确保无论天气如何都能正常工作。他们使用的工具是
(如果不是,则优雅地回退到其他技术和技术,而应用程序代码保持不变)
【讨论】: