iOS开发-应用角标展示逻辑处理
来源:互联网 发布:php 关闭call stack 编辑:程序博客网 时间:2024/05/13 04:24
关于应用角标的设置,大家一定都不陌生,角标,就是系统用来提醒用户来打开app的一种提示。操作方式也很简单,只要对application对象的applicationIconBadgeNumber属性进行设置就可以了。但消息数量累加之类的功能需要我们自己进行操作。
首先我们要注意在iOS 8 之后,我们必须调用
[UIApplication registerUserNotificationSettings:]该方法之后才可对角标属性进行设置。
这里重点讲的是关于角标设置的前后端交互。
以极光推送为例,
在后台调用调用接口给iOS平台发送通知时,后台中有个badge字段是用来控制app收到通知时角标展示数字的,在新版极光推送的SDK中,这个字段可传数字,也可传+加数字,即 badge = “1” 或可以 badge = “+1”
这是两种不同的机制,当badge为纯数字时,是直接设置应用的角标为对应数字,当badge为+某数字时,是将极光后台中该设备对应的badge总数加上对应的数字。
因此,我们在做未读消息累加时,就可让后台每次推送单条消息时,给badge字段赋值+1即可。
但此时,我们app内部也要进行处理,否则会出现,当我们把applicationIconBadgeNumber的属性设为0后,角标是消失了,但下次推送来时,角标的数字会在之前的基础上再加1.
这就需要我们在程序内部,当我们清空角标时,也要调用极光对应的清空极光服务器上的badge数的方法。即
//清空applicationIconBadgeNumber application.applicationIconBadgeNumber = 0; //修改极光服务器中该设备对应别名的badge总数为0。 [JPUSHService setBadge:0];
这样之后,再收到推送,就可以在新的总数上累加了。
其实不光是清空,我们只要保证调用setBadge时和我们的app角标上数字展示是一致的,就可以保证展示不出问题。可简写为
[JPUSHService setBadge:[UIApplication sharedApplication].applicationIconBadgeNumber];要注意的是,在这样写之前,要保证我们的applicationIconBadgeNumber属性为更新后的数字。
其他逻辑按需添加。
阅读全文
1 0
- iOS开发-应用角标展示逻辑处理
- iOS 点击推送进入应用处理逻辑
- iOS Markdown 处理和展示
- ios开发逻辑梳理
- iOS 应用展示广告动画
- 使用OpenCV开发iOS图像处理应用
- IOS应用开发-图片处理
- iOS页面消息角标展示数字
- iOS 开发 数据去重小逻辑
- iOS开发:block使用逻辑
- iOS 关于展示PDF文件处理
- 应用网站微信扫码登录处理逻辑解析
- 当C++遇到IOS应用开发---字符串处理
- 使用OpenCV开发iOS图像处理应用(To be continued..)
- ios开发系列之应用的后台处理
- iOS学习应用开发就业课_004:UIButton时间处理
- iOS RunLoop处理逻辑(图解)
- iOS开发UIWebView展示网页实例代码
- The method getNotCompleteOrder(ResultBean) of type HomeServiceImpl must override a superclass method
- 基于Rtmp协议的流媒体直播实现
- 基本函数
- c#
- 多线程编程(NSThread、NSOperation、GCD)
- iOS开发-应用角标展示逻辑处理
- Linux下的守护进程
- Arduino
- 微信传播如何使大家智商降低
- oracle查询语句大全 oracle 基本命令大全
- ERROR 1366 (HY000): Incorrect string value: '\xB4\xE7\xB1\xCA\xBC\xC7...' for co lumn 'goods_name' a
- AJAX——核心XMLHttpRequest对象
- OkHttpUtils的常规使用
- 日常练习代码