我有一个应用程序,用户在其中登录,从 GCM 获取注册 ID 并将其发送到服务器。我的服务器将使用该注册 ID 和 GCM 向用户发送通知。现在,我遇到以下情况:用户离线,服务器向他发送通知,但下次他登录时,他正在另一台设备上获取新的注册 ID。是否可以从服务器发送到旧设备的 GCM 中删除所有通知?
最佳答案
如果用户最终重新登录到第一台设备,或者新用户将来登录到该设备,则通常不需要(甚至不建议)频繁调用 unregister()。
没有办法“收回” GCM 服务器已经发送的消息。但是,您可以根据目标用户“筛选”收到的消息。比方说,如果用户 X 已登录,并且收到一条消息并打算发送给用户 Y。您可以在 data
条目中将用户 Y 指定为收件人。由于用户 Y 不是登录用户,因此丢弃/忽略该消息。
您可能需要根据需要查看的其他设置:time_to_live
和 delay_while_idle
(描述 here)。
希望我理解您的担忧。
关于php - 从 GCM 中删除消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30589111/