1

我所有的问题都在 Chrome 网络推送通知的上下文中,正如 Chrome 版本 42 中发布的那样。

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

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

4

1 回答 1

2

禁用来自 xyz.com 的通知

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

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

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

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

于 2015-12-03T12:39:22.000 回答