有没有办法回滚放置到 GCM 服务器的通知请求?
如中,考虑将 GCM-message-request 放置到 GCM 服务器。如果用户在移动设备上线之前在网络上看到消息,则应该回滚 GCM 请求。并且用户不应该在移动设备中看到通知。
有没有办法回滚放置到 GCM 服务器的通知请求?
如中,考虑将 GCM-message-request 放置到 GCM 服务器。如果用户在移动设备上线之前在网络上看到消息,则应该回滚 GCM 请求。并且用户不应该在移动设备中看到通知。
在您描述的情况下,没有用于此类回滚的内置机制。您可以尝试自己实现它 - 当您的服务器注意到该消息已在 Web 中查看时,您可以向设备发送另一条 GCM 消息,其中包含一些表示需要回滚的数据。当您处理该消息时,您应该清除您的应用在该设备上创建的所有通知(我不确定这是否可能,您必须检查)。
在类似的情况下有这样一种机制 - 如果用户有多个 Android 设备,并且您向所有设备发送 GCM 消息(使用新的用户通知功能),一旦用户在一台设备上查看通知,它将是自动从其他设备中删除。
- 如果消息已在一个设备上处理,则其他设备上的 GCM 消息将被忽略。例如,如果用户在一台设备上处理了日历通知,则该通知将在用户的其他设备上消失。
- 如果消息尚未发送到设备但已被处理,则 GCM 服务器将其从其他设备的未发送队列中删除。