iOS消息推送原理及常见问题整理

5年前

主要概念:


服务器端需要向Apple申请一个用于推送的证书,用于标识是谁(哪个企业)在做推送任务

设备需要向APNS申请一个Token,用于标识该设备。客户端要将该Token发送给服务器端,表示订阅

服务器向所有已订阅的客户端推送消息。要将报文和Token发送给APNS,APNS再推送到设备

iOS 的推送,可以不严谨的理解为:

苹果服务器朝手机后台挂的一个 IM 服务程序发送的消息。

然后,系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事。

然后,系统分别通知这些 Apps 。



导出证书的主要步骤:


生成钥匙串请求 -->配置下载开发证书-->  配置App ID ,配置、下载SSL证书-->Provisioning证书


常见问题:


1. 服务器发送推送消息,没有报错,但客户端收不到,可能是ios客户端没有允许推送。需要在"设置--通知"中设置


2. 模拟器上正常运行,真机上报如下错误:    

   这是由于使用的是Distribution证书,而调试真机要用Develop证书


3.如果推送时报time out,可能是服务器设置了防火墙,或者访问外网设置了代理。

    推送服务器的地址如下:

    测试地址gateway.sandbox.push.apple.com:2195

    发布地址 gateway.push.apple.com:2195



参考资料:

一步步做消息推送

http://blog.csdn.net/showhilllee/article/details/8631734

COMMENTS

需要 后方可回复
如果没有账号可以 一个帐号。