远程推送通知

为什么需要远程通知?

   案例:淘宝双11要搞活动了,有很多的商品名义上都降价了,想要通知安装淘宝app的用户上淘宝去买东西,但app处于后台时,淘宝服务器无法与用户建立一条长连接,无法向它的用户推消息,只能只能借助于苹果的APNS服务器

为什么苹果的服务器可以推消息?

所有的苹果设备,只要在联网状态下,都会与苹果的服务器建立一条长连接

长连接有何作用?

*  时间校准

*  系统升级提示

*  查找我的iPhone

*  远程通知

疑惑:苹果如何知道要把消息推给哪个用户手机上的哪一款app?

以淘宝服务器为例    

在淘宝服务器把消息给苹果的APNs服务器时,必须告知苹果DeviceToken(包含用户信息)

什么是DeviceToken?

 DeviceToken是由用户手机的UDID和应用程序的BundleID共同生成的

如何获得DeviceToken?

客户端到苹果的APNs注册即可获得


远程推送通知_第1张图片
远程推送流程图

做远程通知必备条件

1.明确的appid

2.给appid配置两个证书如下所示  (也就是cer证书)

开发证书:用于调试远程推送(如果仅仅是练习用的,自然也没必要再配置发布证书了)

发布证书:用于app发布后给用户推送消息

根据appid重新配置描述文件   ok后下载双击安装    

ps: 当然完成以上步骤的前提是你要有一个至少99的开发者账号呀    

开始配置证书

第一步.配置一个明确的APPID(APPID与应用的boundID相对应,主要用来限制app)

远程推送通知_第2张图片
配置appID

并且要把远程通知功能选中

远程推送通知_第3张图片
勾选远程通知功能




第二步:创建请求文件也就是通常说的CSR文件(与电脑绑定,一台电脑的请求文件是唯一的)

在Mac钥匙串中可以请求一个请求文件

远程推送通知_第4张图片
请求步骤

填写以下几项信息   点击继续   把请求文件保存在本地磁盘即可

远程推送通知_第5张图片
填写证书信息

创建远程通知证书

远程推送通知_第6张图片
创建远程通知证书

选择为哪一个APPID配置证书


远程推送通知_第7张图片
创建证书

到了这里你得到了一个csr文件(已经没用了)   一个cer证书(双击安装)   

第三步  配置描述文件

远程推送通知_第8张图片



远程推送通知_第9张图片
描述文件

下载后双机安装即可     此刻你的电脑已经拥有测试远程通知的功能

苹果自带推送功能较为复杂   有时间再更新   先介绍下极光推送也是我们公司正在使用的远程推送

下载sdk   不用介绍了

申请极光帐号,创建一个应用  会获取一个 appKey

远程推送通知_第10张图片

开始集成

1  注册通知

远程推送通知_第11张图片
注册通知

2.获取deviceToken

3.接收服务器推送的消息

远程推送通知_第12张图片

4.注册远程通知失败

测试一下

远程推送通知_第13张图片
在极光服务器推消息

手机接收状态

远程推送通知_第14张图片
测试测试

你可能感兴趣的:(远程推送通知)