一、极光推送简介
极光推送是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,整合了iOS、Android和WP平台的统一推送服务。使用起来方便简单,已于集成,解决了原生远程推送繁杂的步骤和各种验证、申请和易出错等等问题,为 JPush Server 上报 Device Token,免除开发者管理 Device Token 的麻烦,应用运行时,应用内 JPush 长连接可以持续地收到推送消息
。服务的使用是基础功能免费,高级功能和专业功能收费,具体可见图
二、极光推送产品
1.极光推送:远程推送服务(这篇文章主要介绍对象)
2.极光IM:极光的另一款产品,定位于App通讯工具(这篇文章暂不介绍)
三、原理:

红色部分是 APNs 推送,JPush 代理开发者的应用(需要基于开发者提供的应用证书),向苹果 APNs 服务器推送。由 APNs Server 推送到 iOS 设备上。


蓝色部分是 JPush 应用内推送部分,即 App 启动时,内嵌的 JPush SDK 会开启长连接到 JPush Server,从而 JPush Server 可以推送消息到 App 里。
四、极光推送iOS SDK的集成步骤
1.在JPush Portal上创建应用
点击创建应用后对应用进行相应的设置和配置
iOS开发证书和生产证书的配置,首先进行申请
证书的申请和之前真机调试的证书的过程一样,详细步骤请看真机调试那篇文档
申请到证书之后在Mac的钥匙串中导出.p12文件,注意直接选中证书文件后导出,不要展开private key再导出,否则会导致证书配置失败
和真机调试证书的.p12文件导出不一样,不能展开再导出,否则极光验证会出错
2.创建成功后会生成对应的App KEY,用来在应用极光推送的应用中配置
3.导入极光推送API开发包到项目文件中

在官网下载相应的SDK并解压缩后,会得到如图所示文件
打开文件夹
将lib文件拖到我们的项目中,并导入如下必须框架
     CFNetwork.framework
     CoreFoundation.framework
     CoreTelephony.framework
     SystemConfiguration.framework
     CoreGraphics.framework
     Foundation.framework
     UIKit.framework
     Security.framework
     libz.dylib
4.创建并配置PushConfig.plist文件
5.调用代码:在应用程序的AppDelegate代码中加入下面标注有Required的代码(当然得先导入.h头文件)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    self.window.backgroundColor = [UIColor whiteColor];

    [self.window makeKeyAndVisible];



    // Required

#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1

   if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {

    //可以添加自定义categories

    [APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |

                                                   UIUserNotificationTypeSound |

                                                   UIUserNotificationTypeAlert)

                                       categories:nil];

  } else {

    //categories 必须为nil

    [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |

                                                   UIRemoteNotificationTypeSound |

                                                   UIRemoteNotificationTypeAlert)

                                       categories:nil];

  }

#else

    //categories 必须为nil

  [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |

                                                 UIRemoteNotificationTypeSound |

                                                 UIRemoteNotificationTypeAlert)

                                     categories:nil];

#endif

    // Required

    [APService setupWithOption:launchOptions];



    return YES;

}



- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {



    // Required

    [APService registerDeviceToken:deviceToken];

}



- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {



    // Required

    [APService handleRemoteNotification:userInfo];

}



- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {





  // IOS 7 Support Required

  [APService handleRemoteNotification:userInfo];

  completionHandler(UIBackgroundFetchResultNewData);
}
6.好了,这个时候在登录极光账号,选择相应的应用,选择推送
再选择发送通知,进入到推送消息设置界面,设置完成后点击立即发送,此时,相应的iPhone端就会收到您发送出的推送通知啦

iOS极光推送SDK的使用流程的更多相关文章

  1. (转载)iOS 极光推送SDK 集成指南

    iOS SDK 集成指南 使用提示 本文匹配的 SDK版本:r1.2.5 以后. 查看最近更新了解最新的SDK更新情况. 产品功能说明 极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能 ...

  2. iOS开发——iOS10升级极光推送SDK、友盟分享SDK

    前不久升级了Xcode8 ,同时iOS10系统也推送久. 由于公司需要适配iOS 10系统,同时第三方sdk建议升级. 包含替换升级新的SDK和相应的代码修改. 主要分享如何升级极光推送SDK,友盟分 ...

  3. 极光推送SDK通过泰尔终端实验室检测,符合统一推送接口标准

    1月7日,中国深圳--国内领先的开发者服务提供商极光(Aurora Mobile, NASDAQ:JG)宣布其旗下产品极光推送SDK通过中国信息通信研究院泰尔终端实验室的检测,其性能和接口标准符合统一 ...

  4. ios -- 极光推送《1》

    昨天公司项目要加入远程推送功能,自己做显然会很麻烦,所以用了极光的远程推送,下面我会讲如何制作推送证书并使用极光推送进行远程推送. 先讲讲怎么下载推送证书吧(前面的很简单要是知道的可以直接往下滑,简书 ...

  5. iOS 极光推送

    1.关于推送的几个证书.http://www.mobile-open.com/2016/931624.html 进入开发者中心:https://developer.apple.com/account/ ...

  6. iOS极光推送

    昨天花了一下午的时间研究了下极光推送,也前也是没做过,不知道从何下手!才开始的时候一看官方的SDK感觉好难,不过经过一系列的捣鼓之后,手机收到了推送信息,感觉其实并没有那么难! 1.配置开发证书(得有 ...

  7. iOS极光推送的基本使用

    昨天花了一下午的时间研究了下极光推送,也前也是没做过,不知道从何下手!才开始的时候一看官方的SDK感觉好难,不过经过一系列的捣鼓之后,手机收到了推送信息,感觉其实并没有那么难! 1.配置开发证书(得有 ...

  8. iOS - 极光推送证书的创建及过期处理

    无论iPhone还是安卓,我们用到的所有应用基本都有推送通知服务,因为这是应用很好的推广方式,有新产品了.有新更新了通知下用户及时查看.但Apple有点特殊,它的推送需要发到苹果服务器上中转一下,这就 ...

  9. iOS极光推送,两次Bundleid不一致( 开发证书没有通过验证 是否重新上传证书)的解决方案

    极光在配置ios端推送时,需要上传p12证书,如果遇到如下图:: 证书上传未通过的原因一般有: 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候 ...

随机推荐

  1. 【BZOJ3669】【Noi2014】魔法森林(Link-Cut Tree)

    [BZOJ3669][Noi2014]魔法森林(Link-Cut Tree) 题面 题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n ...

  2. [CF908D]New Year and Arbitrary Arrangement

    题面在这里 题意 给定三个数\(k,pa,pb\),每次有\(\frac{pa}{pa+pb}\)的概率往后面添加一个'\(a\)',每次有\(\frac{pb}{pa+pb}\)的概率往后面添加一个 ...

  3. [BZOJ2654] tree (kruskal & 二分答案)

    Description 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有need条白色边的生成树. 题目保证有解. Input 第一行V,E,need分别表示点数,边数和需要的白色 ...

  4. [BZOJ3275] Number (网络流)

    Description 有N个正整数,需要从中选出一些数,使这些数的和最大. 若两个数a,b同时满足以下条件,则a,b不能同时被选 1:存在正整数C,使a*a+b*b=c*c 2:gcd(a,b)=1 ...

  5. 小程序首页onLoad为异步,调用app.js中的全局参数的解决方案。

    一,先说一下遇到的问题: 在首页,为了携带app.js中一些参数去做请求动作,但是由于异步原因,发现请求时候,参数信息还未获取到但请求已经发出去. 若等app.js的全局参数返回来,再携带着它去做请求 ...

  6. vue零基础学习--搭建项目

    一.script引入(联系使用,小型项目) 直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量. <script src="https://cdn.j ...

  7. MSIL实用指南-创建枚举类型

    创建枚举类型比较简单,主要使用moduleBuilder.DefineEnum 和enumBuilder.DefineLiteral. 第一步:创建 EnumBuilder 创建 EnumBuilde ...

  8. WPF介绍

    WPF 为Windows Presentation Foundation的首字母缩写 ,中文译为“Windows呈现基础”.WPF是微软新一代图形系统,运行在.NET Framework 3.0及以上 ...

  9. 兄弟连PHP培训教你提升效率的20个要点

    兄弟连PHP培训教你提升效率的20个要点 用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则 不会,注意:只有echo能这么做,它是一种可以把多个字 ...

  10. 转载NodePort,LoadBalancer还是Ingress?我该如何选择 - kubernetes

    原文:http://mp.weixin.qq.com/s/dHaiX3H421jBhnzgCCsktg ClusterIP ClusterIP服务是Kuberntets的默认服务.它在集群内部生成一个 ...