iOS8 和 iOS7 推送通知负载

Posted

技术标签:

【中文标题】iOS8 和 iOS7 推送通知负载【英文标题】:iOS8 and iOS7 Push Notification Payload 【发布时间】:2014-09-19 11:05:56 【问题描述】:

自从 ios8 提出了交互式通知以来,Payload 发送推送通知有什么重大变化吗?如果有更改,那么在较低版本的 iOS 中将如何处理?

【问题讨论】:

【参考方案1】:

给定的有效负载存在微小差异。但是相同的交互式通知负载可以推送到 iOS7 或更低版本,它将显示为普通通知。

iOS8 交互式推送负载

"aps":"alert":"Hello Testing","badge":1,"sound":"default","category":"your_category_key"

"your_category_key" 只不过是 UIMutableUserNotificationCategory 标识符。

低于 iOS8 Payload 的旧版本

"aps":"alert":"Hello Testing","badge":1,"sound":"default"

Apple 已将有效负载大小扩展到 2048 字节 (2K)。以前只有 256 字节。

【讨论】:

您能否提供有关扩展 2K 有效载荷大小的 Apple 文档参考? 我也没有找到任何官方文档。但是我用 2K(2048 字节)的有效负载大小测试了相同的内容,并且通知已成功传递。 文档可在 WWDC 2014 通知视频中找到。 有没有办法统一Payload到iOS7和iOS8,却一直明知我们不知道Push Receiver的iOS版本? @Yozef 您可以将有效负载与 iOS8 和 iOS7 的交互式通知一起使用。收到通知后,iOS8 会显示交互式通知,iOS8 以下的 iOS 版本仍然只显示通知内容。在这里,我明确给出了有效载荷示例,只是为了更好地理解。

以上是关于iOS8 和 iOS7 推送通知负载的主要内容,如果未能解决你的问题,请参考以下文章

iOS8 - 请求远程推送通知

在 Swift 中推送 iOS8 的通知状态

ios8自定义交互式推送通知

iOS 8 和 Cordova:应用程序在首次启动时立即请求推送通知权限

选择退出用户的静默推送通知

c# 中的 Apple 推送通知服务代码服务器端