IOS SDK集成
运行程序,如果出现以下图片内容,就证明成功了
因为我们只测IOS客户端,所以只用去极光官网去推送测试就行了
然后我们就会发现角标问题!!!
不管我们发送几次通知,这个APP角标永远为1,而且点击启动程序,在退出,这个角标还是1,感觉永远去不掉!!!
1.角标始终为1:
去极光官网,在推送消息的时候,设置badge属性,改为+1,这样每次收到通知,角标会加1了。
2.角标始终去不掉
在程序AppDelegate这个方法里面添加以下代码
代码如下:
[UIApplicationsharedApplication].applicationIconBadgeNumber=0;
[JPUSHServicesetBadge:0];
即每次打开APP初始化角标
为什么写在这里呢?
因为APP在关闭状态会收到通知,但是最小化在后台也会收到通知,如果写在
这个方法里面,只有重新打开APP才会初始化角标。
但是
最小化收到通知在打开APP是不会初始化角标的
一、在使用极光设置app角标时,你需要了解下极光推送相关知识点
设置app角标可通过极光设置,也可以通过iOS方法设置,方法介绍如下:
1.通过极光设置app角标的方法有
方法1:[JPUSHService setBadge:5];
方法介绍:设置JPush服务器中存储的badge值,设置为多少,app接受到通知之后,角标就为多少。
方法2:[JPUSHService resetBadge];
方法介绍:清空JPush服务器中存储的badge值,即 [setBadge:0]。设置完之后,即使app接受到通知了,app角标也不会显示。
2.通过极光设置app角标的方法有
方法:[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
方法介绍:设置的值不为0时,值是多少,app角标就显示多少。如果设置的值为0时。APP角标不显示,并且会清空通知列表中本APP的所有通知。
特别注意点:该方法值为0时,会清空通知列表中本APP的所有通知。
二、注意点
1.可否可精确改变app右上角的角标?
答:不可以,因为通知列表有个清除按钮,我们无法判断,我们无法判断我们的通知是否被删除了。
2.iOS 10及以下,APP在前台接收到通知时,顶部会弹出通知,但是iOS 10以下的系统是不会弹出通知的哦。这一点需要注意了。
3.无论iOS系统是几,APP在后台接受到消息,手机顶部都会有弹窗,并且有声音(前提是你别把手机声音关了哦)。
4.无论iOS系统是几,APP在前台接收到推送时,都不会有声音。
三、总结:
如果通过以上三种方法的哪一种方式设置APP的角标,只要设置的值为0,那么苹果系统就会自动清空通知列表中本APP的所有通知,即使你没有点击过这条通知,也会被清空。这就会造成用户可能错过读取某些重要的通知。因此,笔者建议,跟后台人员说,推送时badge永远设置为0,不要累加。这样的好处就是,用户在通知列表点击一条通知,就自动消失一条通知,而不会清空所有。从而避免用户错误某些重要通知。
当然,一些非常重要的通知,笔者还是建议后台推送完之后,APP也有个可以查看通知的地方。这样即使用户清空了通知,在APP内部依旧可以查看得到。