本文主要说下极光推送,首先集成方面按照官方文档就很容易搞定,楼主第一次集成的时候问题出在证书上面,苹果开发者中心的app id和Provisioning Profile没有对上,注意远程推送的Provisioning Profile不能是带通配符的,好了本文现在假设你已经成功集成了极光推送,那么接收到消息怎么处理,是本文所要讲述的。首先接收到消息的时候你的程序可能处于三种状态,1:程序未启动,退出状态 2:程序在后台挂起 3:程序在前台运行
其实细分每种下边还有两种:是点击了推送信息还是点击了应用图标?因为查看了一些应用,点击应用程序图标进入的基本上都没做什么人性化处理(这个基本上受限于苹果,开发者也没什么能做的),所以本文未对点击应用图标做深入研究,只研究了点击推送消息进入
首先第一种1:程序未启动,退出状态
这个时候收到推送消息,无论是点击推送消息启动应用还是点击了应用图标启动了应用,都会调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法来加载程序,两者区别在于点击推送消息启动应用会把推送的消息userInfo通过launchOptions参数传递过来
if (launchOptions) {
NSDictionary *dicUserInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
[self