apple 消息推送注意点

来源:互联网 发布:杭州刀豆网络怎么样 编辑:程序博客网 时间:2024/06/10 06:11
1、证书
  • 开发时. 如果你的程序是在Debug模式下运行,并且使用的是开发阶段的provisioning profile(Code Signing Identity属性的值是”iPhone Developer”),那你的服务器必须使用开发阶段的证书。开发证书的有效期是3个月。
  • 生产时. 程序如果已经在苹果商店上发布(Code Signing Identity属性的值是”iPhone Distribution”),那服务器必须使用生产阶段的证书。如果这两个被弄混了,推送的提示信息就无法到达你的程序。生产时用的证书有效期是1年。
2、AppId
      每一个应用在app store 中都有一个AppId。Development和Production两个版本可以共用一个App ID
    (不推荐。共用时每次调试前都要删  除设备上的app,重新打包生成。而且公用appid会经常抓狂,早上行,下午就不行了。所以不推荐),

3、deviceToken
      Development和Production两个版本对应的apns device token是不同的,前者是develop的mobileprovision
      下获取的。后者是production的mobileprovision获取的

4、批量发送    
     目前由于APNS(Apple Push Notification Service)机制原因,目前easy apns的消息发送机制为:对每一
     条发送的消息,为所有需要推送的设备都在数据库中apns_messages创建一条消息,然后通过轮训数据库表来一条一条向
     苹果消息推送服务器发送消息

     在需要推送的设备较多的情况下,由于存在大量的网络链接,导致存在较长时间的延迟。

      解决方案:(1)、做批量消息推送时候,保持与苹果消息推送服务器的长链接

                        (2)、使用批量发送机制

5、客户端和服务器端
     服务器端,如果是php的,那必须使用.pem的证书,如果是java的,那必须使用.p12的证书。
   (很可能还需要双击证书进行安装!)服务器端发出的json包是有大小限制的,最大256字节,包括自定义字典集

原创粉丝点击