苹果推送通知可以发送警报比和声音多个参数?(Can apple push notifications

2019-06-25 20:50发布

我有几件的元数据,我需要一个推送通知相关联。

例如用户没有,消息ID。

我公司可以派比苹果支持更多的参数:

 {aps =     {
    alert = joetheman;
    sound = default;
};}

这可能吗?

Answer 1:

是。 在推送通知编程指南节的通知有效载荷它规定

供应商可以在苹果保留APS命名空间之外指定自定义负载值。 自定义值必须使用JSON结构和原语类型:字典(对象),数组,字符串,数字和布尔。 你不应该包括客户信息自定义的有效载荷数据。 取而代之的是,将其用于多种用途,如设定上下文(用户界面)或内部度量。 例如,自定义的有效载荷值可以是用于通过即时消息客户端应用程序或时间戳识别当所述提供者发送的通知中使用的会话标识符。 与警报消息相关联的任何动作不应该是破坏性的,例如,删除设备上的数据。

所以,你的有效载荷可能看起来像

{
    "aps": {
        "alert": "joetheman",
        "sound": "default"
    },
    "message": "Some custom message for your app",
    "id": 1234
}

再往下,在同一页面上有许多证明这一点的例子。



Answer 2:

当然。 您可以将自定义参数与苹果推送通知的有效载荷。 像凯文说,巴拉德的有效载荷将看起来像上面。 但要记住一件事总是你正在处理的推送通知,按照苹果的约束推送通知,允许通知有效载荷的最大大小为256个字节; 苹果推送通知服务拒绝超过此任何通知。 所以,请你什么时候来添加更多的数据来通知你考虑过采取这种。



Answer 3:

你不允许把自定义标签APS标签内。 下面是单证说一下吧:

Providers can specify custom payload values outside the Apple-reserved aps namespace. Custom values must use the JSON structured and primitive types: dictionary (object), array, string, number, and Boolean.

所以你的情况,你应该这样做:

{
    "aps": {
        "alert": "Hello Push",
        "sound": "default"
    },
    "People": {
        "Address": "Your address here",
        "Name": "Your Name here",
        "Number": "XXXXXXXXXX"
    }
}

因此,您可以寻找它在主JSON的关键,而不是在“APS”读你自定义的有效载荷:



文章来源: Can apple push notifications send more parameters than alert and sound?