基于 HTTP/2 的 APNs 协议:Universal Push Notification Client SSL 证书

原创 2016年08月29日 17:23:05

前久生产用的 Push 证书过期,于是重新制作了证书放到服务器上。原本以为这就 OK 了。

但今天测试时发现,在仿真服务器上的沙盒证书不能用了!(用 APN Tester Free 测试)。

google 了一下发现:

2015年12月17日起,发布 “基于 HTTP/2 的全新 APNs 协议”,新版 APNs 协议做了如下改变:

  • Request 和 Response 支持JSON网络协议
  • APNs支持状态码和返回 error 信息
  • APNs推送成功时 Response 将返回状态码200,远程通知是否发送成功再也不用靠猜了!
  • APNs推送失败时,Response 将返回 JSON 格式的 Error 信息。
  • 最大推送长度提升到4096字节(4Kb)
  • 可以通过 “HTTP/2 PING ” 心跳包功能检测当前 APNs 连接是否可用,并能维持当前长连接。
  • 支持为不同的推送类型定义 “topic” 主题
  • 不同推送类型,只需要一种推送证书 Universal Push Notification Client SSL 证书。

显然问题出现在最后一条上。原来的生产证书的名字叫做 “Apple Producton IOS Push Service”,开发证书的名字叫做 “Apple Productoin IOS Push Service”.

现在则统一叫做 Apple Push Services 了(也就是制作证书时的“Apple Push Notification service SSL (Sandbox & Production)选项”):

也就是说,不管是发布模式、还是调试模式下都使用同一个证书。

但同时,沙盒版本的 APNs 服务器地址也删除了,现在统一连接生产的 APNs 服务器进行发送:

图中,笔者用 Easy Apns Provider 测试了一条消息,使用的是 Universal Push Notification Client SSL 证书,服务器连接的也是 gateway.push.apple.com,手机上上安装的 App 是 debug 版本,最后消息仍然推送成功。

基于http2的apns的push发送平台(使用go语言写的)

在linux环境下执行上面的语句。需要改几个参数, 这个http2的ios push推送真的是要了我的老命啊,足足用了两个礼拜的时间,从零基础的go语言开始,一步步的学习和找对应的例子,终于...

APNS部署教程2(证书配置)

本系列教程写于2016年9月,所用开发环境是 XCODE(7.3.1), SWIFT(3.0), PHP(5.5.36), APACHE(2.4.18), MYSQL(5.7.14) 禁止...

ios 开发制作push证书(apns)

  • 2014年03月24日 12:20
  • 100KB
  • 下载

HTTP/2 协议用于 iOS 推送提醒服务 (APNS)

苹果最近更新了他们的推送提醒服务协议,APNS。这个新版本的协议基于HTTP/2和JSON,相比于旧的二进制协议,新的协议有了巨大改进。新的APNS协议基于HTTP/2: 新的特性和功能: 基于JS...

Apple Push Notification Service (APNS)原理与实现方案

附上原文地址 :http://blog.csdn.net/ghosc/article/details/7897201 原理 简单的说,app要单独实现消息动态更新,一种是轮询,这对用户来说会带来额...

Apple Push Notification Service(APNS)开发指引

notnoop/java-apns github:https://github.com/notnoop/java-apns 简介 java-apns是服务于APNS服务的java客户端,该...

Apple Push Notification Services (APNS)苹果推送通知服务

One of the key limitations of the iPhone is its constraint on running applications in the background...

我的总结之nginx https的配置 自己生成ssl证书 curl命令总结 https工作原理 find命令 PolarSSL http协议总结 json url nginx_lua

鉴于公司的业务需要需要,我需要对nginx的ssl模块研究一下,顺便记录一下研究过程。 首先需要将ssl模块配置跑通(前提是要已经with了该模块,可用/data/nginx/sbin/nginx -...

APNS - Apple Push Notification Service

APNS - Apple Push Notification Service当一个APP有新的数据到达时,Provider向APNS发送一个通知(Notification),然后APNS将这个通知推送...

iPhone Apple Push Notification Service (APNS)(全教程)

http://mobiforge.com/developing/story/programming-apple-push-notification-servicesOne of the key lim...
  • sjzsp
  • sjzsp
  • 2011年04月14日 16:28
  • 26075
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于 HTTP/2 的 APNs 协议:Universal Push Notification Client SSL 证书
举报原因:
原因补充:

(最多只允许输入30个字)