我在我的应用程序中使用APNS,我想发送一些数据(当然少于256字节)。我的问题是我想通过推送通知发送数据而不向用户显示任何警报。我怎样才能做到这一点 ? 谢谢
答案 0 :(得分:2)
在aps键中指定徽章,并将您的数据放入其他键中。因此,如果您使用的是徽章编号,请重新计算正确的徽章编号,如果您不使用徽章编号,请发送0。
来自Apple文档:
提供者可以在Apple保留的aps命名空间之外指定自定义有效负载值。自定义值必须使用JSON 结构化和原始类型:字典(对象),数组,字符串, 数字和布尔值。您不应该包含客户信息 定制有效载荷数据相反,将其用于设置等目的 上下文(用于用户界面)或内部指标。例如,a 自定义有效负载值可能是一个供会话使用的对话标识符 即时消息客户端应用程序或标识何时的时间戳 提供者发送了通知。与警报关联的任何操作 消息不应该是破坏性的 - 例如,删除数据 设备
但是有一个问题 - 这只有在app正在运行时才会起作用。
它的工作方式是 - 如果app正在运行,您将通过didReceiveRemoteNotification回调获取有效负载数据的通知。您可以在此处提取自定义数据。 但是,如果应用未运行,则通常会显示警报,并且如果用户点击该应用,则仅向 通知您的应用。由于您不想显示警报 - 当应用程序未运行时,您无法无法获取自定义有效内容数据。当你考虑它时,如果应用程序自己启动,对用户来说会非常可怕。 :)