如何从javascript(适用于Chrome)注册GCM主题
How to get registered into GCM topics from javascript (for Chrome)
这里有一个关于如何在Chrome中实现Google Cloud Messaging (GCM(的很好的文档。但是我在这里或任何地方都没有找到任何有关如何使用 javascript(适用于 Chrome(订阅主题的参考。
在这里,我找到了如何为Android执行任务的参考:https://developers.google.com/cloud-messaging/topic-messaging#subscribe-to-a-topic
Java代码(Android(用于在GCM中订阅主题:
private void subscribeTopics(String token) throws IOException {
GcmPubSub pubSub = GcmPubSub.getInstance(this);
for (String topic : TOPICS) {
pubSub.subscribe(token, "/topics/" + topic, null);
}
}
我不在寻找什么
我不是在寻找Chrome应用程序/扩展程序的方法。
我想要什么
我想向所有用户发送推送通知。到目前为止,我知道这可以通过两种方式实现:
- 将消息推送到主题
- 或者我必须:"您需要发送设备的注册 ID 列表,并且此列表不应超过 1000,如果您想向超过 1000 台设备发送消息,这是 GCM 的限制,那么您需要以 1000 块的形式打破列表。
我想避免第 2 点。
我的问题
那么,我的问题是有没有办法使用 Javascript for Chrome 浏览器(用于网页(订阅 GCM 的主题?如果有,那么该怎么做?
Web 推送不支持 GCM 主题。原因可能与即将添加的有效负载有关,这些有效负载需要为每个用户使用不同的密钥进行加密。
所以恐怕你被困在 2(。这当然取决于您有多少用户,但请记住,在当前的情况下,如果您要使用主题,您可以立即向数百万人发送消息。收到消息后,所有这些用户都将"https-ing"返回您的网站以获取显示通知所需的信息,因此,如果该主题被很多人使用,您将面临自己DOS的风险。以 1000 为一组进行批处理有助于限制传入流量。
发布一个答案以显示我评论的答案。
FCM 最近(2016 年 10 月 17 日(宣布了 Firebase JavaScript 库:
今天,我们宣布通过发布 JavaScript 库为 Firebase 云消息传递 (FCM( 提供 Web 支持。这扩展了我们当前的浏览器支持,实现了大大简化的实施过程,并为 Web 带来了主题和设备组消息传递等强大功能。
--
借助 FCM JavaScript 库,您可以向单个设备、主题或设备组发送 Web 推送通知。通过在 Web 上添加主题支持,我们使开发人员能够向选择加入特定主题的 Android、iOS 和 Web 用户发送消息。若要利用主题和设备组,可以使用服务器端 API 来管理主题和组订阅。
链接到有关设置 JavaScript 客户端应用的 Firebase 文档。
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 当组件准备就绪时,如何在Polymer中动态注册新属性
- 注册OpenLayers事件时,即使使用匿名函数或绑定,JavaScript关闭也会触发循环内的所有内容
- 如何在单击“提交”按钮时为“新建”窗口编写JavaScript,用“确定”和“取消”显示注册信息
- Angularamd在typescript控制器注册中
- 注册组件的非角度和角度版本
- 如何从已注册的事件发送 JavaScript 对象
- GCM推送通知,如果应用程序在手机中关闭(Phonegap Android)
- 不使用Grunt.initConfig()注册Grunt任务
- 使用谷歌图表将mousedown事件注册为click
- Stormpath注册页面上的社交登录
- 可以'我无法提交AJAX注册表
- GCM Chrome:空数据响应
- 注册成功后重定向
- 模态上的输入/注册字段不起作用
- 正在获取GCM流星应用程序的注册ID
- 如何从javascript(适用于Chrome)注册GCM主题
- 如何从适用于 Chrome 应用的 GCM 连接服务器获取注册令牌
- 无法从GCM(phonegap应用程序android)接收注册
- 获取信息设备注册用户GCM