【问题标题】:Google Cloud Messaging for Chrome Web Push Notifications IssuesGoogle Cloud Messaging for Chrome Web 推送通知问题
【发布时间】:2015-12-20 12:52:53
【问题描述】:

我的所有问题都与 Chrome 网络推送通知相关,在 Chrome 版本 42 中发布。

1) 即使注册 ID 不再有效,GCM API 也会返回“成功”。当某人右键单击通知并单击“禁用来自 xyz.com 的通知”时,此人将无法再收到通知。但是,当我将相同的 RegistrationID 发送到 GCM API 时,它仍然会为该特定注册返回成功。当我再次重新订阅时,我得到一个新的 RegistrationID。因此,我怀疑前一个被禁用。这是预期的行为吗?我们有什么方法可以通过右键单击通知来了解人们是否取消订阅,并在我们的数据库中将其标记为非活动状态,以防用户再也不会回来。

2) Error=NotRegistered 的 GCM 文档显示“客户端应用程序未配置为接收推送消息或应用程序已从设备上卸载”。您能否解释一下“客户端应用程序未配置为接收推送消息”是什么意思?

【问题讨论】:

  • 这是两个问题。但第二个很容易未注册意味着您不能再发送到该 ID。请发布两个问题,您可能会得到答案。

标签: google-chrome google-cloud-messaging chrome-gcm web-push push-api


【解决方案1】:

禁用来自 xyz.com 的通知

这只是撤销 Chrome 中的通知权限并从推送中注销。 GCM 服务器可能需要一段时间才能意识到此类注册不再有效,因为注销发生在本地,并且可能需要一段时间才能同步回服务器。

我们有什么方法可以通过右键单击通知来了解人们是否取消订阅,并在我们的数据库中将其标记为非活动状态,以防用户再也不会回来。

向该注册 ID 发送消息最终会开始返回一个永久性错误(“InvalidRegistration”、“NotRegistered”、 'InvalidPackageName', 'MismatchSenderId')

您可以在https://github.com/johnmellor/push-api-appengine-demo/blob/master/main.py#L349 中看到一个工作示例

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    • 2016-06-24
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多