iOS 极光推送的项目集成

激光推送已经做得比较完善了。参考集成文档就可以解决掉大部分问题。

1,证书问题,certificates,这里要区分两个概念,开发证书与推送证书。这是两个证书,刚开始混淆了,以为开发证书要有推送功能呢。

开发证书选择的生成的时候,是选择App Developer那个选项,这个是用来进行对我们的App签名的。

2,推送证书,这个单单是用来生成p12文件的,生成的时候选择push功能,然后下载下来双击,有可能没有安装在登录证书下,手动拖过去即可,要不然,导出证书不是p12文件。

3,将p12上传至极光推送平台。

4,配置好项目中pushconfig.plist文件。参考文档

5,实现相关的推送代码。参考项目文档。

至此推送工作已经准备完成,如果你人品足够好的话,估计就可以推一条试试了。

需要注意的几点:

1,极光的相关项目代码中实现的,只是后台的推送提醒。如果你觉得配置没问题,但是死活收不到,把程序退到后台试一下,或许就会收到了哈。

2,无论前台还是后台,推送都会走一个统一的方法。- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler

我们可以在这个方法里,进行一些处理。比如获取到推送的内容

NSString*content = [[userInfoobjectForKey:@"aps"]objectForKey:@"alert"];

3,判断程序前后台问题:

- (void)applicationDidBecomeActive:(UIApplication*)application 程序进入前台会走的方法。可以用BOOL来标记一下。

4,判断程序是从图标点击启动还是从推送通知点击启动

在这个方法里 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions 

//如果是从点击通知启动的应用,就获取通知的内容

NSDictionary* remoteNotification = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

if(remoteNotification) {

//说明从推送通知点击启动的

}

5,关于推送跳转的问题。

项目的主架构是,rootViewController是TabbarController,然后TabbarController的对应着几个NavigationController。

我们可以获取navigationController.rootViewController

你可能感兴趣的:(iOS 极光推送的项目集成)