前言:
最近公司的项目需要集成远程推送,网上各种浏览各种搜索,总结下来基本没有什么完整版的教程,或是代码版本比较古老,或是片面性的将核心逻辑并核心代码贴出来,看得人似是而非云里雾里,浪费大把时间,本着一个有责任的程序员,所有抽出时间整理下远程推送,文章不会有太过于深奥的技术点,只是推送的一整套流程,平民阶级的思想,目的让你快速集成远程推送功能。
准备条件:
极光推送SDK Version:v2.1.7
APP Version:8.0
流程图:
苹果开发者远程通知证书申请:
因为申请证书的步骤麻烦,此处步骤拆分出来,作为单独模块来讲述:
《IOS开发者证书申请》文章中已经详细介绍了如何在苹果电脑上安装开发者证书,这里还需要导出推送的开发和发布证书.p12文件(p12文件类似于文件的副本):
步骤:
1.打开安装证书的电脑。
2.打开《钥匙串访问》工具。
3.在工具的右边框选择钥匙串下的登录。
4.接着底下选择种类中我的证书。
5.这时你会看到你电脑上安装的开发所需的证书,分别找到通知的开发和发布证书。
6.点击右键选择导出".........",选择存放文件存放位置并给文件命名,记得给一个密码,这个密码随便设置,但必须得记住,后面会用到,到此.p12文件生成完成。
还没看懂,看下图:
p12导出后的样子:
极光推送账号注册:
打开极光推送 网站,注册极光推送账号。
极光推送配置,以及上传APP开发者证书:
登录账号,会看到以下界面,点击创建应用:
看下图,红色矩形标注的地方都需要填写:
1.应用名称:你用APP的名称,这个名称只是显示在极光推送后台的一个应用名称
2.应用图标:你用APP的显示在手机上的图标,这个图片只是显示在极光推送后台的一个应用图标。
3.IOS开发证书:这个证书就是该文章中|苹果开发者远程通知证书申请|模块生产的.p12文件,底下对应着创建.p12文件时创建的密码。
4.IOS生产证书:这块和IOS开发证书一样的操作。
5.极光推送后台配置完成。
集成代码:
1.下载最新版本SDK:走你,解压找到包含JPUSHService.h、jpush-ios-x.x.x.a)添加到你的工程目录中。
2.导入必要的框架:
CFNetwork.framework
CoreFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
CoreGraphics.framework
Foundation.framework
UIKit.framework
Security.framework
Xcode7需要的是libz.tbd;Xcode7以下版本是libz.dylib
3.配置项目中的通知,看下图,红色区域:
4.配置AppDelegate.m文件
1)导入所需的头文件:
2)注册,这段代码写在代理didFinishLaunchingWithOptions方法中,矩形中的参数以下有解释。
appkey: 是极光推送配置添加APP生成的的,看下图红色矩形:
channel:来段官方解释”指明应用程序包的下载渠道,为方便分渠道统计,具体值由你自行定义,如:App Store“。
isProduction:如果测试填写0如果上线填写1。
3)这个代理比较核心,app接收到通知就会调用这个方法,其中的判断是判断接收到通知时,YES是应用目前在前端显示,NO应用在后台显示,并做一些事情。
4)以下代理,在进入应用程序后,取消桌面右上角的红色标记。
5)以下代理,标记用户类型,大概意思是通过给每个设备绑定一个标识,在推送消息时,可以根据不同的标识给不同的用户发送消息,目前有三种,1>标识 2>别名 3>设备号 ,表示和别名可以在这个方法中设置。
6) 如果通知发送失败,会调用这个方法
以上便是基本的代码集成。
测试远程推送:
1.进入极光推送后台:
2.点击推送->发送通知。
3.输入推送内容。
4.推送对象,上文已有介绍,根据设置的标识,别名或者设备编号,发送对应消息。
极光推送暂时在此停笔了,如果文中有哪些不懂或者有误,欢迎指正,也可添加QQ群126440594进行讨论。