iPhone 设备令牌的大小
Posted
技术标签:
【中文标题】iPhone 设备令牌的大小【英文标题】:Size of iPhone device token 【发布时间】:2012-09-17 02:19:49 【问题描述】:APN(Apple 推送通知)生成的设备令牌的大小是多少。我正在尝试将设备令牌存储在 mysql 数据库中的服务器端,并想知道生成的设备令牌的最大大小
【问题讨论】:
长度为 64 个字符 长度不再是 64 个字符,它会发生变化,其中一些是 64,一些是 108,等等。 【参考方案1】:你被告知,但它目前是 32 字节。 Apple says the token length is variable and to not hard code it
当您收到通知时,它有一个标头,当前大小为 35 个字节。安排如下:
字节 1: 命令 字节 2-3: 令牌长度 字节 4-35: 令牌来源:http://mark.aufflick.com/files/view/talks/apns.pdf
【讨论】:
你说它总共有 32 个字节......但你提到的是 4-35 个字节......你能解释一下吗? @NagaR 我刚刚稍微扩展了内容以解释编号的来源。数字是标题中的索引。所以token的第1个字节占据了header的第4个字节,token的第2个字节占据了header的第5个字节……token的第32个字节占据了header的第35个字节。 感谢您的解释! Apple 表示令牌长度是可变的并且不对其进行硬编码:developer.apple.com/library/ios/documentation/…【参考方案2】:Apple Push Notification Service Programming guide很清楚地说:
“重要提示:APN 设备令牌的长度可变。请勿对其大小进行硬编码。”
【讨论】:
我希望能重新审视这个问题。这是(截至目前)正确答案。【参考方案3】:根据 Apple 的 iOS 开发者库,正如 Philip 所说,它是 32 字节。
这是他们关于“本地和推送通知编程”页面的链接,其中可能包含有关该主题的其他有用信息。
https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/Introduction.html
【讨论】:
链接失效 @QED 链接已修复 @Alastair 链接再次断开【参考方案4】:据报道,iOS8 中的限制为 2k。仍然是 GCM 4k 大小的一半,但我怀疑大多数人将不得不改变他们的表来处理新的 iOS8 令牌限制。
【讨论】:
他没有询问推送有效载荷的大小,而是询问了令牌本身。 GCM 令牌(技术上)也可以长达 4k。但实际上它应该在 255 以内。 我同意 James,GCM 的令牌长度可以达到 4K,而有效负载本身可以达到 4K。 问题是关于令牌大小,而不是关于有效负载大小。以上是关于iPhone 设备令牌的大小的主要内容,如果未能解决你的问题,请参考以下文章
使用运行 iOS 7.1 的 iPhone 5s 时,设备令牌为零
iphone app APNS 无法获取设备令牌,错误:“没有为应用程序找到有效的‘aps-environment’权利字符串”