2

在 Worklight 中,我为 iOS 设置了推送消息,它工作正常。现在出于测试目的,当我通过 URL 调用发送推送时,消息标题正确,而正文(有效负载)部分截断所有空格并将所有单词一起显示。

例如:

http://mydomain/myApp/invoke?adapter=aaPushAdapter&procedure=sendPush&parameters=["aahad","General Title 2", "This is General message body 2"]

然后,标题为“General Title 2”,正文部分为“ThisisGeneralmessagebody2”

我的适配器声明为:

function sendPush(userId, msgTitle, MsgContents){
    var userSubscription = WL.Server.getUserNotificationSubscription('aaPushAdapter.PushEventSource', userId);
    if (userSubscription==null){
        return { result: "No subscription found for user :: " + userId };
    }
    WL.Server.notifyAllDevices(userSubscription, {
        badge: 1,
        sound: "sound.mp3",
        activateButtonLabel: "Read",
        alert: msgTitle,
        payload: {
            msg : MsgContents
        }
    });
    return { result: "Notification sent to user :: " + userId };
}

(1) 现在我怎样才能保留这种格式?

(2) 如果我必须发送 URL,那么我如何格式化和发送我的消息?

请建议。谢谢

4

2 回答 2

0

我不完全确定您如何使用 URL 作为发送推送通知的方式。你的意思是你真的去浏览器并在地址栏中输入这个文本......?你不应该这样做(除了快速测试)。有后端系统应该为您做到这一点。

无论如何,不​​要使用单词之间的空格,而是使用“%20”(不带引号),然后查看文本是否在对话框中显示为空格。

于 2013-05-19T09:34:31.550 回答
0

如果 %20 不起作用,则将所有空格更改为“|”之类的内容,然后在您的应用程序中取消编码。或对整个字符串进行十六进制编码,使其成为一个连续的字母数字字符串。

于 2013-05-19T13:16:09.690 回答