苹果推送APNS的一个容易错误的地方

本文介绍了苹果APNS推送的两种连接方式,重点关注基于HTTP/2的新协议和旧的二进制接口。HTTP/2协议提供基于JSON的请求响应、错误反馈等功能,而二进制接口有Legacy、Enhanced和V3三种通知格式。V3格式采用TLV结构,避免了批量推送的误解。文章旨在提醒开发者注意这些细节,确保推送的正确性。
摘要由CSDN通过智能技术生成

   在网上看了很多的apns的介绍,我看了大多都是PHP的讲解如何服务器对接苹果服务器以及发送推送,我这边就不介绍苹果APNS的原理了,不过其中有几个需要介绍的地方。需要注意

一、苹果服务器有两种连接方式

1,HTTP/2,这是苹果APNS在2015年12月份弄出来的,这个新版本的协议基于HTTP/2和JSON。有一篇文章总结的很好,我就直接复制过来,方便点。

原文地址:http://www.oschina.net/translate/http2-protocol-for-apns?cmp

新的APNS协议基于HTTP/2:


新的特性和功能:

  • 基于JSON的请求和响应

  • 对于每个通知,如果成功响应,将会返回200标识 - 不用再去猜测通知是否被接收到

  • 响应错误将会以JSON字符的形式返回

  • 消息的长度从2048个字节增加到4096个字节

  • 连接状态可以通过HTTP/2的ping框架来进行检查

  • 支持主题

  • 通用的推送证书 - 开发和生产使用同一个证书即可

需要连接的端口是

  • Development server: api.development.push.apple.com:443

  • Production server: api.push.apple.com:443


今天讲解的重点不在这里,原因是笔者我在重构公司的推送服务器的时候用的C开发,而当时使用的CURL版本太低了,而且CURL在7.47.0才开始支持HTTP2,并且需要nghttp(至少1.0.0)的支持,而本身部署服务器的环境不太好改动,因此就作罢,苹果本身是很支持使用HTTP2,我以后会想办法用python来处理的。

CURL处理HTTP2的说明:点击这里

基于HTTP2的官网文档:点击这里

2,第二种连接方式叫做 binary interface,今天的重点也是这个

旧的APNS二进制协议

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值