iPhone推送通知字符限制

我是IOS推送通知的新品。 我一直在阅读有关他们,似乎无法在任何地方find这些信息。 我读过推送通知的大小限制是256字节。 此大小限制是否包含必须发送的设备令牌以及有关通知的其他开销信息。 如果是这样,我的内容的实际尺寸是多less。

他们用什么格式来解释我发送的文本? 转换1个字符= 1个字节还是更多。 真的,我想知道我可以在推送通知中发送多less个字符。

感谢您了解推送通知有效负载的限制。

每个推送通知携带一个有效载荷。 有效负载指定如何提醒用户等待下载到客户端应用程序的数据。 允许通知有效载荷的最大大小是256字节; Apple推送通知服务拒绝任何超出此限制的通知。

对于每个通知,提供者都必须编写严格遵守RFC 4627的JSON字典对象。该字典必须包含由关键字aps标识的另一个字典。 aps字典包含一个或多个指定以下操作的属性:

  • 要显示给用户的警报消息
  • 一个数字来标记应用程序图标
  • 一个声音玩

– 本地和推送通知编程指南

所以,回答你的问题,

此大小限制是否包含必须发送的设备令牌以及有关通知的其他开销信息。

是的,这个大小限制包括设备令牌和其他开销信息。

转换1个字符= 1个字节还是更多。

如果您在通知中只使用拉丁字母,这是正确的。

以上内容都不太清楚,因为“包含”可能意味着“已经包含”或者“你必须包含它”。 要清楚的是,设备ID是“元数据”,而不是有效载荷的一部分,并且不会出现在256个字符的预算中。 另一个APS开销(标准有效载荷字典),虽然是。

来源:上述文件加上实验来validation。

在生产环境下的APNStesting中,最多可以发送33个汉字和13个字节的2个自定义属性。

 { "aps": { "alert": "一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三", "badge": 12, } "t": 123, "v": "1234567890" } 

如果保存为文件,则上述有效负载长度为158个字节,不包括空格字符。 每个中文字符都被计为3个字节(我确认删除所有这些字符以查看大小变化)。

正如所提到的官方文件,256字节的限制不包括设备令牌,但是我相信即使没有明确地使用APNS也会计入其他字符,比如“sound”和“content-available”。

所以要小心,不要太长,特别是在使用自定义有效载荷的时候。 请注意,APNS开发环境不会限制有效负载的长度。 您的testing通过使用开发环境,但可能会失败的产品。 不要把它当成是确定的。