ios iPhone推送通知字符限制

91zkwejq  于 2023-11-20  发布在  iOS
关注(0)|答案(4)|浏览(201)

我是全新的IOS推送通知。我一直在阅读有关它们的信息,似乎无法在任何地方找到此信息。我读到推送通知的大小限制是256 MB。此大小限制是否包括必须发送的设备令牌和有关通知的其他开销信息等内容。如果是,我的内容的实际大小是多少?
此外,他们使用什么格式来解释我发送的文本?转换1字符= 1字节还是更多。真的,我想知道我可以在推送通知中发送多少个字符。
感谢您帮助我们了解推送通知有效负载的限制。

b4qexyjb

b4qexyjb1#

每个推送通知都带有一个payload。payload指定如何提醒用户等待下载到客户端应用程序的数据。通知payload的最大大小为256字节; Apple推送通知服务拒绝任何超过此限制的通知。
对于每个通知,提供程序必须组成严格遵守RFC 4627的JSON字典对象。此字典必须包含由关键aps标识的另一个字典。aps字典包含一个或多个指定以下操作的属性:

  • 要显示给用户的警报消息
  • 用于标记应用程序图标的数字
  • 一个声音播放
  • 本地和推流编程指南
    所以,回答你的问题,
    此大小限制是否包括必须发送的设备令牌和有关通知的其他开销信息等内容。
    是的,此大小限制包括设备令牌和其他开销信息。
    转换是1个字符= 1个字节还是更多。
    如果您在通知中仅使用拉丁字母,则会出现这种情况。
k3bvogb1

k3bvogb12#

以上内容都很不清楚,因为“include”可能意味着“它已经包含”或“您必须包含它”。需要明确的是,设备ID是“metadata”,不是有效负载的一部分,并且不超出您的256个字符预算。但是,其他APS开销(标准有效负载字典)是。
来源:以上文档加实验验证。

f3temu5u

f3temu5u3#

在我的APNS测试在生产环境中,多达33个中文字符和2个自定义属性的13字节可以成功发送。

{

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

字符串
如果保存为文件,上面的有效载荷长度为158字节,不包括空格字符。每个中文字符计为3字节(我通过删除所有字符来查看大小变化来确认)。
正如官方文件所提到的,256字节的限制不包括设备令牌,但我相信还有其他字符APNS被计算在内,例如“声音”和“内容可用”,即使你没有明确使用。
所以要注意不要“太长”,尤其是在使用自定义payload的时候。要注意,APNS开发环境并不限制payload的长度。你的测试在使用开发环境的时候通过了,但在产品中可能会失败。不要想当然。

chy5wohz

chy5wohz4#

更新2023

对于那些像我一样最近遇到这个问题的人来说,在2023年,苹果关于Generating a remote notification的文档说:
基本的远程通知有效载荷包括Apple定义的密钥及其自定义值。您还可以添加特定于您的通知的自定义密钥和值。Apple推送通知服务(APN)会在有效载荷的总大小超过以下限制时拒绝通知**:
对于互联网协议语音(VoIP)通知,最大有效负载大小为5 KB(5120字节)。
对于所有其他远程通知,*最大有效负载大小为4 KB(4096字节)**。

相关问题