iOS远程Push Notification实现

http://www.xiaoyaoli.com/?p=1033


iOS远程通知,就像新闻客户端定点推送新闻,聊天客户端推送信息,都由服务器端发送信息推送给APNS,再由APNS发给手机,手机再发给客户端,原理这里简单说下,因为教程一大堆

1.App向APNS注册,返回一个token

2.App给自己的服务器端发送token,记录自己的设备

3.自己的服务器想发通知了,根据token发送通知给APNS

4.APNS根据从服务器得到的token和通知,PUSH给指定token的设备

5.设备收到信息,转给App

IMG_1308 IMG_1307

 

下面说下从申请到实现的流程

 

1.申请证书请求

这个不多说了,相信各位同学做过无数次这个操作:

钥匙串访问 > 证书助理 > 从证书颁发机构中请求一个证书

输入邮件和名字

存到硬盘

2.申请App ID,创建p12

用于远程push的应用得有自己的App ID,在开发者页面里App ID页面申请,名称可以随意,注意勾选下面的Push Notification,而且注意下面申请的时候BUNDILE ID要和应用相同,比如com.lpx.collection

屏幕快照 2013-05-29 下午3.13.49

 

接下来一步步创建完,再点进去创建的app id,可以看到notification是黄色的,还不可用,点进去设置

屏幕快照 2013-05-29 下午3.25.35

看最底下有两个选项,一个是用来开发测试用的,一个是产品级别发布用的,因为是测试,这里就选第一个

屏幕快照 2013-05-29 下午3.27.29

然后点继续,到这部选择之前创建的证书

屏幕快照 2013-05-29 下午3.28.48

 

 

然后可以看到创建成功,点击完成重新看这里已经多了一个证书了,点击下载,并双击安装到keychain

屏幕快照 2013-05-29 下午3.30.37

 

这样,在keychain里可以看到如“Apple Development IOS Push Services: xxx”的证书,右键导出p12文件,设定个自己知道的密码,保存起来,服务器端要用

2.Provision文件

这一步是为了真机可以运行,因为远程通知模拟器是用不了的,这个就不多说了

3.已经做的事

现在总结一下,手头有三个文件,一个是最开始证书颁发机构申请证书的文件,一个是下载了的aps.develope.cer,一个是导出的p12文件

接下来终于可以写代码了

4.客户端代码

然后是重要的代理方法

这样就足够了,接下来是服务器端

4.服务器端

一般来说,有不少框架可以让服务器端使用,这时候一般都需要p12文件还有token就够了

我这里用了一个mac项目,可以模拟push消息,很好用,名字也很撩人,叫push me baby

https://github.com/stefanhafeneger/PushMeBaby

 

需要做的是把aps.develope.cer拷贝到resource里,然后修改一下

好了,这时候发送app就应该可以收到了!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值