当QQ关闭时,如果有新的消息进来,app上的badge显示数目会递增。比如原来是2,新来了两条,就变成了4.
我了解到的APNS推送逻辑里,是在payload中定义应用的badge显示条数,如下将显示2:
$body = array("aps" => array("alert" => '哈哈,能推送过来咯!',"badge" =>2,"sound"=>'default'));
似乎没有递增的方式。
如果要利用程序本地的代码的话,则必须是用户打开应用的状态下,那个时候会有
很好奇QQ的实现方式是怎样的。大家有什么思路吗?
Badge的数值是由服务器控制的。所以只有一个问题,就是怎么保证客户端显示的数值就是当前未读条目的计数。这就需要客户端和服务器交流沟通了,也就是同步。
客户端运行时,每看一条未读信息,都给服务器发剩余的未读数,服务器自行更新计数,好方便下次推送时决定Badge的数值。
客户端关闭时,服务器收到给此用户的新消息,未读计数自然+1,再发通知过去。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。