苹果比来更新了他们的推送提示服务协议,APNS。这个新版本的协议基于HTTP/2和JSON,比拟于旧的二进制协议,新的协议有了宏大改良。
基于JSON的恳求和呼应
关于每一个告诉,假如成功呼应,将会前往200标识 - 不必再去猜想告诉能否被接纳到
呼应错误将会以JSON字符的方式前往
音讯的长度从2048个字节增加到4096个字节
衔接形态可以经过HTTP/2的ping框架来实行反省
支撑主题
通用的推送证书 - 开发和生产运用统一个证书便可
旧的二进制APNS协议有点奇异,大部分情况,推送分发的Server要翻开一个同APNS网关Server的socket衔接,并坚持这个衔接。在旧的协议下,假如Server呼应成功的话,你将不会收就任何回应,可是假如Server呼应失败(例如,运用了一个非法的Push token),Server将前往了一个错误编码,并封闭这个socket。最主要的是,你必需从头发送运用这个无效token当前发送的一切告诉。因而,你可能不断不能断定你的推送能否成功的被Server接纳。很多系统运用这个漏洞,成心发送一个错误的token,这些黑客行动将招致系统功能低下。苹果有一个名为"feedback"的服务,我们可以按时挪用这个服务来获得invalid tokens的列表。这个服务你只需挪用一次就能够取得一切的invalid tokens 列表。所以,假如一个使用有很多推送告诉供给商,他们将会抢夺资本去轮询查找invalid tokens列表。invalid token越多,你系统功能将越低,所以APNS只需一发作错误就封闭这个衔接。
不外依然另有一些限制。获得TLS证书比较庞杂,并且存储-转发才能弱爆了,APNS在装备下线的时分只保存一个告诉,而且装备上线以后也不会向Server上传信息,Google Cloud Messaging就有一切这些特征。
思索到GCM如今也支撑iOS装备了,那末APNS和GCM如今构成了竞争关系。让我配合等待APNS在2016年的新功用吧。
其它翻译版本 (1) 加载中 本文中的一切译文仅用于进修和交换目标,转载请务必注明文章译者、出处、和本文链接。 2KB翻译任务按照 CC 协议,假如我们的任务有进犯到您的权益,请实时联络我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务