回滚/取消 android-gcm 通知

Posted

技术标签:

【中文标题】回滚/取消 android-gcm 通知【英文标题】:rollback/cancel the android-gcm notification 【发布时间】:2013-07-25 17:57:50 【问题描述】:

有没有办法回滚放置到 GCM 服务器的通知请求?

如中,考虑将 GCM-message-request 放置到 GCM 服务器。 如果用户在移动设备上线之前在网络上看到了消息,则应该回滚 GCM 请求。并且用户不应该在移动设备中看到通知。

【问题讨论】:

【参考方案1】:

在您描述的情况下,这种回滚没有内置机制。您可以尝试自己实现它 - 当您的服务器注意到该消息已在 Web 中查看时,您可以向设备发送另一条 GCM 消息,其中包含一些表示需要回滚的数据。当您处理该消息时,您应该清除您的应用在该设备上创建的所有通知(我不确定这是否可行,您必须检查一下)。

在类似的情况下有这样一种机制 - 如果用户有多个 android 设备,并且一旦用户在一台设备上查看通知,您就会向所有设备发送 GCM 消息(使用新的user notifications 功能) ,它将自动从其他设备中删除。

如果消息已在一个设备上处理,则其他设备上的 GCM 消息将被忽略。例如,如果用户在一台设备上处理了日历通知,则该通知将在用户的其他设备上消失。 如果消息尚未发送到设备但已被处理,GCM 服务器会将其从其他设备的未发送队列中删除。

【讨论】:

以上是关于回滚/取消 android-gcm 通知的主要内容,如果未能解决你的问题,请参考以下文章

我在向 ios 设备发送推送通知时收到 errorNum :8

Android - GCM 在打开应用程序时收到来自 gcm 的通知

安装VS2008过程中取消了安装,在回滚过程中强制关闭了该程序

取消默认提交,可以回滚

在 IOS 中回滚推送通知

如果sql事务中出现问题,则回滚并通知