在iPhone的后台模式下应用程序时,自定义推送通知的Payload内容?

时间:2012-06-28 21:47:48

标签: iphone apple-push-notifications payload

我正在将苹果推送通知应用到我的应用中,我正在收到正确的通知。但是当通知以后台模式进入应用程序时,我遇到了一些问题。从服务器端,他们以

的格式发送通知
                    a/a/The new deal is added/someText/a

但是我想在通知栏中自定义有效负载消息,即我希望显示“添加新交易”的消息。那么当应用程序处于Background状态时,如何在通知栏中自定义内容的有效负载?。

所以请帮帮我。

谢谢!

1 个答案:

答案 0 :(得分:1)

据我了解,在显示之前通过推送通知更改消息发送的唯一方法是使用“本地化”机制。

查看Apple关于“Localized Formatted Strings”的文档: http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html#//apple_ref/doc/uid/TP40008194-CH100-SW21

我不确定这是你想要实现的目标。

在我看来,如果你不想显示不同的消息/数据,你的应用程序是在后台还是在前台,你应该更改通过推送通知发送的数据。

这样的事情:

{
    "aps" : {
        "alert" : "Message displayed when app is in background"
    },
    "foreground_alert" : "Another message or data used when app is in foreground"
}

当您的应用处于后台时,“警报”的内容将自动显示。

当您的应用处于前台时,您必须实施application:didReceiveRemoteNotification来捕获和处理传入的通知(并通过示例显示“foreground_alert”的内容)