要通过APNS在有效载荷中发送的数据

问题描述:

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

在aps键中指定徽章,并将您的数据放入其他键中。所以,如果你使用的徽章数量,重新计算正确的证件号码,如果你不使用他们,只是给0

从苹果文档:

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

但有一个问题 - 这只会在应用程序运行时才起作用。

它的工作方式是 - 如果应用程序正在运行,您将通过didReceiveRemoteNotification回调获得有效负载数据的通知。你可以在这里提取你的自定义数据。 但是,如果应用程序未运行,通常会显示提醒,并且只有用户点击该应用程序才会通知您的应用程序。由于你不想显示警报 - 有没有办法让你得到自定义有效载荷数据,当应用程序不运行。当你想到它时,如果应用程序自己启动,对于用户来说会非常可怕。 :)

+0

'if([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]){在推送通知上执行一些操作//}每当我在JSON结构中使用alert键时,'DidFinishLaunchingWithOptions'中的这段代码就会在Notification tap上运行,有问题,我不想显示通知警报。我该怎么办 ? – 2013-03-26 09:25:07

+1

查看更新的答案。 – Mar0ux 2013-03-26 09:33:16

+0

如果我没有在JSON结构中指定'alert'键,那么'UIApplicationLaunchOptionsRemoteNotificationKey'返回null。 – 2013-03-26 09:33:54