iOS App 的角标(badge)数字一般是由客户端控制,还是服务器控制呢?

十月码 发布于 2015年07月21日
无人欣赏。

如题,请问大家的项目里,角标数字由客户端还是服务器控制呢?

当然,这个问题主要在由服务器推送远程通知的情况下:如果是不需要服务器通知,本地App可以精确地控制角标数字数;然而在有服务器远程通知时,App在未运行或驻后台的情况下无法主动修改角标数字,如果服务器不提供角标的参数,则App的角标数字显示就不准确了。

我的个人想法是应该由服务器控制。服务器在推送通知时,应该获取该设备的未读消息数,并在 badge 值里给出加上新通知后应该显示的未读消息数。然后客户端在每次用户阅读消息后,通知服务器用户读了消息,然后将 badge 值减一。这样一来角标数字会是准确的,但这种方法看起来增大了服务器的负担,因为要为每一台设备保存一份它的未读消息数。

大家的项目里,如果有服务器推送远程通知的话,请问是怎么解决角标数字的同步问题呢?

共2条回复
waterluo 回复于 2015年07月24日

建议不要过多使用角标,角标多了有压迫感啊

windgo 回复于 2015年07月25日

我现在的策略是一刀切, 一旦启动app, 直接清零. 用户很烦这个东西.

登录 或者 注册
相关帖子