美文网首页
App收到推送消息时,修改BadgeNumber

App收到推送消息时,修改BadgeNumber

作者: 百客 | 来源:发表于2015-10-22 12:33 被阅读6339次

    基于JPush推送

    场景

    远程推送,在收到消息的时候,希望改变App的BadgeNumber值,如果没有点击通知进入App,则BadgeNumbe值累加,如果点击了通知进入App,则BadgeNumber值减1或清0(根据iOS的系统而定)。

    技术分析:

    在收到远程推送的消息的时候,有以下三种情况需要考虑:

    1. 程序在后台运行

    2. 程序未运行

    3. 程序运行在前台

    原则上,应用在收到推送消息时,badge的值是由后台来控制的,但是,目前的大多数公司后端都不会实现这一功能。幸运的是,JPush服务器已经帮我们做了。

    我们在JPush后台发布消息时,在可选设置中,设置badge的值为:+1,就可以让app端badge的值自动加1,这样,我们在app端用代码修改badge的值的时候,都需要同时用[APService setBadge:badgeNumber]修改Push后台记录的badge值,这样下次app收到推送消息时,显示的badge才是正确的。

    如果要求对于程序在前台运行时,收到的通知也做处理,这时,我们可以将收到的远程推送通知,转换为本地推送通知,同时修改badge值,就可以了。

    相关文章

      网友评论

          本文标题:App收到推送消息时,修改BadgeNumber

          本文链接:https://www.haomeiwen.com/subject/cljthttx.html