iOS 极光如何设置badge及可能出现的问题

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内部依旧可以查看得到。

你可能感兴趣的:(iOS 极光如何设置badge及可能出现的问题)