我需要使用Bluemix Rest API传递url和通知消息。根据文件
{"message": {
"alert": "Notification alert message","url":"test.test.com" }}
上述休息呼叫应发送消息和网址。但是当我试图从通知中解析Json对象时,没有标记发送该URL。
MFPPush.registerDevice(settings, success, failure);
var notification = function(notif){
alert (JSON.stringify(notif));
};
MFPPush.registerNotificationsCallback(notification);
}}
以上是我使用Cordova应用程序从javascript注册通知的代码。
下面的代码显示iOS上的AppDelegate代码:
-(void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler {
[[CDVMFPPush sharedInstance] didReceiveRemoteNotification:userInfo];
}
当我在AppDelegate中输入userInfo的日志语句时,会显示以下日志:
{
aps = {
alert = {
"action-loc-key" = "<null>";
body = test;
};
};
payload = "{\"nid\":\"5a379af\",\"tag\":\"Push.ALL\"}";
url = URL;
}
它会显示在字典中。但是如何从中获取url值?
答案 0 :(得分:1)
@Rahul您必须在notif["url"] = notification?.valueForKey("url")
方法中添加func didReceiveRemoteNotification(notification: NSDictionary?) {}
以显示在通知弹出窗口中。
答案 1 :(得分:1)
在Xcode中打开应用并转到CDVMFPPush.swift
文件并找到func didReceiveRemoteNotification(notification: NSDictionary?)
在上面的函数
中添加以下行 notif["url"] = notification?.valueForKey("url")
希望这会对你有所帮助。