2

我在我的应用程序中使用 APNS,我想发送一些数据(当然少于 256 字节)。我的问题是我想通过推送通知发送数据而不向用户显示任何警报。我怎样才能做到这一点 ?谢谢

4

1 回答 1

2

在 aps 键中指定徽章,并将您的数据放入其他键中。因此,如果您使用徽章编号,请重新计算正确的徽章编号,如果您不使用它们,只需发送 0。

来自苹果文档:

提供者可以在 Apple 保留的 aps 命名空间之外指定自定义有效负载值。自定义值必须使用 JSON 结构化和原始类型:字典(对象)、数组、字符串、数字和布尔值。您不应将客户信息作为自定义有效负载数据包含在内。相反,将其用于设置上下文(用于用户界面)或内部指标等目的。例如,自定义有效负载值可能是供即时消息客户端应用程序使用的会话标识符,或者是标识提供者何时发送通知的时间戳。与警报消息相关的任何操作都不应具有破坏性——例如,删除设备上的数据。

但是有一个问题 - 这仅在应用程序正在运行时才有效。

它的工作方式是 - 如果应用程序正在运行,您会通过带有有效负载数据的 didReceiveRemoteNotification 回调获得通知。您可以在此处提取您的自定义数据。但是,如果应用程序没有运行,通常会显示一个警报,并且只有当用户点击它时才会通知您的应用程序。由于您不想显示警报 -当应用程序运行时,您无法获取自定义有效负载数据。仔细想想,如果应用程序自己启动,用户会感到非常害怕。:)

于 2013-03-26T07:40:22.883 回答