假设用户A在上午10点在设备A处订阅事件源推送通知,且在上午11点在设备B处订阅事件源推送而不取消订阅。如果我的后台发送了推送消息,两台设备都会收到推送消息吗?实际上,我只是想把消息发送给用户订阅的最新设备。有没有办法做到这一点?
发布于 2017-01-20 17:18:59
就像Idan建议的那样,你可以检查数据库中的推送订阅。Susbscription有一个关联的时间戳条目。有了这个,您就可以为用户确定最新的版本。
然后,您可以使用WL.Server.notifyDevice(userSubscription, device, options)或WL.Server.notifyDeviceSubscription(deviceSubscription, notificationOptions)来定位特定设备。
发布于 2017-01-20 14:27:52
如果用户订阅了两个不同的事件源,则是,用户将在这两个事件源中收到通知...
没有内置机制可以防止(同一用户的)“重复”订阅,因此您可以在服务器上实现某种cron作业来检查数据库中的subscriptions表,并检查是否存在重复的订阅。如果发现重复的订阅,请删除旧的订阅。
https://stackoverflow.com/questions/41755693
复制相似问题