本人在对接iOS推送时,用的是极光推送,中间可谓是:
一波坑来一波坑又起!!!
现将部分规避代码总结如下:
首先在极光注册自己的应用,注意上传开发和生产证书时,一定注意!
项目对接SDK时,官网说的非常详细,本人Pod加载的,并手动添加部分配置:
允许Push通知 更给Plist文件中,pod导入的JPush访问权限直接上代码,因为是在Appdelegate里面加入的方法,所以我给AppDelegate写了一个分类,在.h文件中可以写:
在.m文件中实现以下方法:
方法中又再次调用YTPushHelper我是将极光Push方法,统一封装在了这个类里面。截图如下:
YTPushHelper.h YTPushHelper.m -1 YTPushHelper.m -2紧接着在AppDelegate中- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions这个方法下加上代码:[selfJPushApplication:applicationdidFinishLaunchingWithOptions:launchOptions];即可。
用户点击查看通知,打开App时,角标清0,方法为:setApplicationIconBadgeNumber。
以上,基本的配置就可以实现了。直接官网测试,或者后台测试就可以了。
特使情况!如果用户的App是在打开时,也想进行推送,实现以下方法即可:
系统小于iOS6.0 iOS 7.0之后使用在这个方法下,特别需要注意,拿到推送显示信息之后,注意就开始判断App此时状态了:
App状态枚举其中: UIApplicationStateActive为前台操作;
UIApplicationStateInactive为纯后台,或者伪后台时调用;
UIApplicationStateBackground这个我并未使用,暂时不知!哈哈
基本就可以实现各种时机的推送了。如有问题或者错误,请提出,大家共同进步。😀
网友评论