php - 从 GCM 中删除消息

标签 php android google-cloud-messaging

我有一个应用程序,用户在其中登录,从 GCM 获取注册 ID 并将其发送到服务器。我的服务器将使用该注册 ID 和 GCM 向用户发送通知。现在,我遇到以下情况:用户离线,服务器向他发送通知,但下次他登录时,他正在另一台设备上获取新的注册 ID。是否可以从服务器发送到旧设备的 GCM 中删除所有通知?

最佳答案

如果用户最终重新登录到第一台设备,或者新用户将来登录到该设备,则通常不需要(甚至不建议)频繁调用 unregister()。

没有办法“收回” GCM 服务器已经发送的消息。但是,您可以根据目标用户“筛选”收到的消息。比方说,如果用户 X 已登录,并且收到一条消息并打算发送给用户 Y。您可以在 data 条目中将用户 Y 指定为收件人。由于用户 Y 不是登录用户,因此丢弃/忽略该消息。

您可能需要根据需要查看的其他设置:time_to_livedelay_while_idle(描述 here)。

希望我理解您的担忧。

关于php - 从 GCM 中删除消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30589111/

相关文章:

php - 从第一个表中选择所有内容,计算第二个表中 ID 的实例数

push-notification - 通过 GCM/FCM 向位于中国的设备发送通知是否有任何问题

android - 在 Android 中强制执行 GCMNetworkManager OneoffTask

ios - FIRInstanceID 在 FIRInstanceIDAPNSTokenType.Sandbox 中为零

php - 如何检查 'YYYY-MM-DD' 格式的日期和 PHP 中 'Unix Time stamp' 格式的日期?

php - 使用 Ubuntu 和 PHP 发送邮件

javascript - 更改 jquery 请求期间使用的 IP

android - 是否可以在 checkin TFS时使用ant构建Android项目?

java - getCacheDir() 下的子目录

android - 为什么 SQLiteOpenHelper 会导致 IllegalArgumentException 数据库打不开?