iOS 本地推送和远程推送(APNS)

苹果手机开发中的信息提示推送方式,一类是远程服务器推送(APNS)与UILocalNotification本地通知的,设计这两种通知的目的都是为了提醒用户,现在有些什么新鲜的事情发生了,吸引用户重新打开应用。
一、本地推送
iOS 本地推送和远程推送(APNS)_第1张图片
iOS 本地推送和远程推送(APNS)_第2张图片
1.1注册本地推送
iOS 本地推送和远程推送(APNS)_第3张图片
代理方法
iOS 本地推送和远程推送(APNS)_第4张图片
1.2本地推送内容
iOS 本地推送和远程推送(APNS)_第5张图片
1.3接受推送消息方法
iOS 本地推送和远程推送(APNS)_第6张图片
二、远程推送(java后台,php后台这里不写了,制作pem文件麻烦)远程推送也有很多第三方的:例如极光推送、友盟推送都可以。
iOS 本地推送和远程推送(APNS)_第7张图片
这张图都不陌生了,大概的原理就是:注册设备得到token,将token和p12和导出文件密码+host(测试环境和真实环境不一样)给java,服务器将(感兴趣的内容+token)给APNS,当感兴趣内容发生,APNS推送到客户端。
2.1生成.CSR文件,保存到桌面上
iOS 本地推送和远程推送(APNS)_第8张图片
iOS 本地推送和远程推送(APNS)_第9张图片
iOS 本地推送和远程推送(APNS)_第10张图片
iOS 本地推送和远程推送(APNS)_第11张图片
2.2登录http://developer.apple.com/制作.cer文件(上传CSR文件)
iOS 本地推送和远程推送(APNS)_第12张图片
双击证书安装到钥匙串
iOS 本地推送和远程推送(APNS)_第13张图片
2.3制作profile文件
iOS 本地推送和远程推送(APNS)_第14张图片
iOS 本地推送和远程推送(APNS)_第15张图片
双击profile安装到x-code
2.4 制作p12文件(从钥匙串导出.cer文件)
iOS 本地推送和远程推送(APNS)_第16张图片
输入证书密码
iOS 本地推送和远程推送(APNS)_第17张图片
证书制作流程完毕,桌面上总共有4个文件。
iOS 本地推送和远程推送(APNS)_第18张图片

注意: Development Push SSL Certificate ,与Production Push SSL Certificate 区别在于一个是用于开发的推送证书,一个是用于发布产品的推送证书。两个证书获取到的终端deviceToken是不一样的,用两个证书生成的P12证书用于JAVA后台连接APNS的服务器地址也是不同的,Development Push SSL Certificate 对应连接的服务器地址是:gateway.sandbox.push.apple.com。Production Push SSL Certificate 对应连接的服务器地址是:gateway.push.apple.com。

2.5 开始ios的代码
在AppDelegate.m的(BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions方法中加入注册消息通知推送能力;加入当应用程序处于未启动状态时,判断是否由远程消息通知触发;加入清除消息推送通知标记。
iOS 本地推送和远程推送(APNS)_第19张图片
注册设备的代理方法,一个注册成功,一个注册失败
iOS 本地推送和远程推送(APNS)_第20张图片
接受推送消息
iOS 本地推送和远程推送(APNS)_第21张图片
2.6 java后端的代码(给其.p12和文件密码)
iOS 本地推送和远程推送(APNS)_第22张图片

你可能感兴趣的:(Objective-C)