问题标签 [chrome-gcm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何从 javascript 注册到 GCM 主题(适用于 Chrome)
这是关于如何在 Chrome 中实现 Google Cloud Messaging (GCM) 的一个很好的文档。但我在这里或任何地方都没有找到任何参考如何使用 javascript(用于 Chrome)订阅主题。
在这里,我找到了如何为 Android 执行任务的参考: https ://developers.google.com/cloud-messaging/topic-messaging#subscribe-to-a-topic
在 GCM 中订阅主题的 Java 代码(Android):
我不是在寻找什么
我不是在寻找 Chrome 应用程序/扩展程序的方法。
我想要什么
我想向我的所有用户发送推送通知。到目前为止,我知道这可以通过两种方式实现:
- 将消息推送到主题
- 或者我必须:“您需要发送设备的 reg id 列表,并且此列表不应超过 1000 这是 GCM 的限制,如果您想向 1000 多个设备发送消息,那么您需要打破列表1000 块。”
我想避免第 2 点。
我的问题
所以,我的问题是有没有办法使用 Javascript for Chrome 浏览器(网页)订阅 GCM 的主题?如果有,那该怎么做?
push-notification - 如何显示来自我的网站的推送通知?
我正在开发一个简单的网站,我希望我的网站向我的用户显示推送通知。这类似于 facebook.com 在 chrome 和 firefox 中显示通知的方式。我还在开发一个也支持通过 GCM 推送通知的 Android 应用程序。
因此,我需要有关如何向我的网站添加推送通知支持的帮助。提前致谢!
push-notification - GCM:在主题上发送的消息未到达浏览器
我的设置包括一个 web 应用程序、一个后端服务器和一个 android 应用程序。我希望能够在我的 android 应用程序和 webapp 之间聊天。
初始化:Android 应用已订阅主题 / topics /chatGroupName /files (addToTopicNoRetry) 为浏览器订阅主题:/topics/chatGroupName
当我从 Web 发送消息时,我使用我的后端服务器发送有关 /topics/chatGroupName 之类的主题的 GCM 消息,并且 android 应用程序会收到此消息。
但是,当我从 Android 应用程序发送有关此主题 /topics/chatGroupName 的 GCM 消息时,我没有在浏览器应用程序上收到任何通知。
甚至我的https://iid.googleapis.com/iid/info/REGISTRATION_TOKEN?details=true都表明这个注册令牌已经订阅了 /topics/chatGroupName
android - 没有 GCM 谷歌云消息的 phonegap 推送通知
可以在phonegapp中实现通知推送而不传递给谷歌云消息吗?我可以像这样找到使用 gcm 的插件: https://github.com/phonegap/phonegap-plugin-push 存在不同的解决方案而不传递给 gcm?
google-chrome - 如何指定 chrome 推送通知的时间限制
我使用 Service Worker 将推送通知发送到 chrome 浏览器。
我使用下面的代码从服务器接收通知
通知正在显示,但它会在几秒钟后关闭。我不需要关闭通知。用户明确关闭通知。告诉我停止关闭通知的代码。显示通知后,它不会永远关闭。用户明确关闭通知
javascript - PushManager 订阅承诺从不履行也不拒绝
我目前面临一些 Chrome (Chromium) 版本的问题,其中PushManager.subscribe
来自 ServiceWorker 的承诺保持在挂起状态。
代码本身非常简单:
我有一个有效且可访问的 JSON清单,提供GCM 发件人 ID。如本文所述,我还尝试了不同的实现,但结果仍然相同。
订阅部分适用于每个47+版本,问题出现在旧版本中。(我正在使用 Chromium 连续构建来测试不同的主要版本)。
另请注意,在 Ubuntu 上使用 Chromium 46(及更低版本)时,承诺会在15 分钟后以Internal Server Error
.
push-api - PushManager 端点包含“未定义”
在使用serviceWorkerRegistration.pushManager.subscribe
ServiceWorker 中的方法时,createdendpoint
有时会在字符串末尾包含一个“/undefined” 。
例如,通过 Chrome ServiceWorker :https://android.googleapis.com/gcm/send/xxx...xxx/undefined
我必须说我有一个有效的Android Sender ID,如果删除这个额外的部分,我可以向用户发送推送。
最后但并非最不重要的一点是, Chrome和Firefox订阅都发生了这种情况。
javascript - 在 GCM Service Worker 中获取 API 请求后如何使用 JavaScript 设置 cookie?
我已经成功实现了 GCM 和 ServiceWorkers 来接收推送通知。
我的问题
每当有 SOS 更新时,我都会向gcm-http发送 HTTP 请求,然后在 Google Chrome 上显示正常通知,但没有任何有效负载或数据。
根据Google Developers Doc,chrome 无法接收有效负载/数据,因此必须在触发推送事件时手动从后端获取通知。
因此,为了获取数据,我在后端(在 django 中)请求一个 url 来向我发送通知数据。但问题出在这里,我如何知道我必须从我的数据库/模型发送哪些通知数据?
注意:- 我没有维护不同的database table/model
方式来确定客户端读取的通知,因为它不需要SOS更新和已读/未读。
不起作用的解决方法:-
我可以在客户端的浏览器上设置一个 cookie,并且在后端可以获得下一个通知(下面是代码)
但是,我必须返回 JSON 响应,因此我无法从服务器端设置 cookie,因此我计划data['notification']['notif_id']
在客户端(即 Javascript)上使用来设置 cookie。
我的SW.js的片段看起来像:
但是我无法document.cookie = last_notif_id=data.notification.notif_id
在我处理收到的通知数据的地方做(如果成功收到),因为 JS 脚本给出了错误Unable to retrieve data ReferenceError: document is not defined at http://localhost/static/main/js/sw.js
附加信息: //localhost/get_sos_notification/
是 GET 请求,返回 JSON,并映射到class GetSOSNotification(View)
我已经用谷歌搜索并搜索了很多,但没有任何解决方案。
提前致谢。
android - 对于每个发件人 ID,GCM 允许 1000 个并行连接
参考https://developers.google.com/cloud-messaging/ccs#connecting
我想为 GCM 提供一个基于 XMPP 的服务器。我无法理解“对于每个发件人 ID,GCM 允许 1000 个并行连接”这里连接是什么意思?
cordova - Ionic Android 推送通知在 phonegap-plugin-push 上出现错误
我正在使用 Ubuntu(15.10) 64 位系统,并且我使用 chrome 作为我的日志。
我正在尝试使用此 ionic 文档进行 android 推送通知和http://docs.ionic.io/v1.0/docs/push-from-scratch#我正在尝试进行推送通知。
尝试安装ionic plugin add phonegap-plugin-push
时出现错误,例如Error: Variable(s) missing (use: --variable SENDER_ID=value).
为什么会发生此错误,任何人都可以给我一个解决方案来解决这个问题。