我和极光的那些事儿 | iOS开发极光推送(apns)
前言:当时由于项目需要,开始后台不用极光推送非要用sockets实现,结果也没有实现,最后还是用了极光推送,极光推送里面只要明白方法的用途应该还是可以的,当时用极光的时候网上好像这方面的文章很少,后来自己就想过自己做完应该写篇文章分享大家互相学习😳如果哪儿里写的不好还请大家多多提出,一定会认真改正哒😊
1.在你的项目导入sdk(一些文件的配置这里就不再叙述啦😄) 在使用的界面引入头文件
在appdelegate引入的头文件2.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
在以上这个方法里面注册极光推送
注册极光推送3.处理一些其他的方法
其他方法处理 程序正在前台运行时收到的通知处理方法 程序在后台运行时接受到通知,点击通知内容出发的事件处理 转换成字典的处理方法4.在(你所需界面)首页进行的一系列的处理
进行登录连接的处理 获取appkey等一系列的处理 状态的判断知晓处理 设置你的别名,这样后台才可以给你发消息 报错和接受消息的方法处理 在这里通过收到后台服务器发送的数据进行一些列的(界面跳转的)处理5.最重要的一点》》》》》》》》》》》》》》》》》》
我们推送是需要判断好多种的状态的,比如你的程序(app应用)是否启动了如果没启动的情况下给你推送了消息,或者在你app在后台的时候给你推送了消息,或者在你正在打开app使用的期间给你推送了消息,我们在客户端对于这些情况都是需要判断的,还有对于未读取的推送消息的处理,我们需要找到这些事件处理的方法:
当程序未启动的时候接受到通知进行界面的跳转的处理事件:
5.1 当程序未启动的时候appdelegate里的好多方法是不走的,但是下面这个方法是一定会走的,所以在这里处理程序接受到通知的事件:
一定会走的方法哦5.2 下面这个事件 写到上面的方法里
当程序未启动的时候,用户点击通知栏里面的内容进入详情界面的事件处理
//当程序未启动时 对于点击通知内容栏进入详情界面的处理
[self performSelector:@selector(sendNotation:) withObject:launchOptions afterDelay:0];
if ([AdvertHelper IntroductionImageList].count) {
AdVertView *adVertView = [[AdVertView alloc] initWithFrame:self.window.bounds];
adVertView.delegate= self;
adVertView.delaySeconds = 6.0f;
[adVertView show];
adVertView.advertModel = [AdvertHelper IntroductionImageList][0];
[self.window addSubview:adVertView];
}
5.3 进行程序唤醒的判断 以及数据的接收处理
这里就需要根据后台传值进行判断
👇👇👇👇👇👇👇👇
本文参与极光征文活动,活动介绍: http://www.jianshu.com/p/c1953d7fccaf