各位朋友,晚上好。请教一下一个疑惑了很久的问题。
当我的 PC 版 QQ “不活跃”(如不在线)时,我的 iOS 版 QQ 就会收到未读消息的 Push ,这个时候,我不去对 iPhone 做任何的操作,而是打开了 PC 版的 QQ 去接收这些未读的消息,这时候我发现我 iPhone 锁屏界面上的那些 QQ 未读消息的 Push 会自动消失。请问这个是什么原理?或者能否介绍一下相关的思路?
这个功能蛮实用的,因为有时候运营人员会推送错误的消息,如果可以实现对 Push 的”召回“,那么可以减少蛮多的不必要的麻烦。
非常感谢。
1
bikong0411 2016-04-25 21:38:21 +08:00 via iPhone 1
读完之后有回包然后下发 push app 去拦截进而清除提示数?
|
2
mazyi 2016-04-25 23:15:56 +08:00
显示那些未读消息是可以通过网络控制的嘛,这个原理还可以理解吧。
|
3
wuyu1998 2016-04-26 08:54:47 +08:00
client 和 server 数据同步的问题。
2 个 client ( pc 端, ios 端), pc 端的优先级高于 ios 端。 当 pc 端离线(无法 ping 通),则将消息发往 ios 端。 当 pc 端上线,则清除 ios 端的消息队列。 |
4
xiao99xiao 2016-04-26 15:38:53 +08:00 2
我是这个机制的设计者。
具体逻辑我就不详细介绍了。关于这一个点: iOS 的 Push 有一种用法,就是下发一个 BadgeNumber=0 的 Push ,就会清除设备上该 App 的所有 Push Notification 。 |
5
blaxing OP @xiao99xiao app 工程里不需要针对这个 BadgeNumber=0 去写什么特殊的处理代码吧?直接就可以响应清楚所有该 App 的 Notification 咯?
|
6
xiao99xiao 2016-04-28 12:28:54 +08:00
@blaxing 对的,不需要。
|