远程推送

一、证书准备阶段:

            创建推送证书,安装至钥匙串,导出p12文件,分别上传至所用的推送平台.

二、代码阶段:

            (以小米推送为例,重点是不管用的什么平台,其实步骤都是一样的,集成按照文档来                  就行)。

               1.注册推送服务

 

2.在- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken这个方法里注册devicetoken.

3.与自己服务器的交互需要结合本地服务器的接口和推送文档而定(包括注册推送成功后设置别名或者账户或者regid作为设备标志,需要注意的是,一般每次启动应用都会开启推送。还有推送用户的解绑等等)。

4.接下来需要说的是重点了   iOS10以后推送做了变化,所以需要iOS10和iOS10之前的版本做兼容。

首先iOS10 之后的推送必须把推送开关打开,否则不会走获得devicetoken那个代理方法,收不到推送。如下:

5.如果需要收到推送后做界面跳转,那么需要做三个地方的设置

 第一个:

通过[launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]获得推送消息传来的信息,就可以拿到相应的信息做跳转了,这个是杀死app必走的方法,注:如果是通过present跳转的,可以加一个延迟,以免数据还没请求成功,而造成界面为空。

第二个:针对于iOS10以下的版本,在这个方法里,做自己的操作

第三个:针对于iOS10以后的版本

导入头文件

遵守代理

实现代理方法,在此方法里做自己的跳转即可


下面总结一下推送的原理:首先苹果的推送服务通知是由自己专门的推送服务器APNS (Apple Push Notification service)来完成的。推送的过程需要经过四个步骤:

(1)注册推送服务。

(2)注册成功后,APNs会返回给我们一个deviceToken,我们获取到这个token,将token发送给自己的服务器。

(3)当需要推送消息时,我们一块将自己需要推送的消息和deviceToken,一块儿发给APNS服务器,此时我们的应用会和APNS服务器维持一个tcp的长连接。

(4)APNs收到消息时,会根据deviceToken标志。将消息推送到iOS设备上,设备上就会显示自己的服务器推送的消息了。

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