繁体   English   中英

从Bluemix推送通知获取URL标记值

[英]Getting url tag value from Bluemix push notification

我需要使用Bluemix Rest API将URL与通知消息一起传递。 根据文档

{"message": {
"alert": "Notification alert message","url":"test.test.com" }}

上面的rest调用应该发送消息和url。 但是,当我尝试从通知中解析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值呢?

@Rahul,您必须在func didReceiveRemoteNotification(notification: NSDictionary?) {}方法内添加notif["url"] = notification?.valueForKey("url") func didReceiveRemoteNotification(notification: NSDictionary?) {}方法以显示在通知弹出窗口中。

在Xcode中打开应用程序,然后转到CDVMFPPush.swift文件,然后找到func didReceiveRemoteNotification(notification: NSDictionary?) CDVMFPPush.swift func didReceiveRemoteNotification(notification: NSDictionary?)

在上面的函数中添加以下行

notif["url"] = notification?.valueForKey("url")

希望这会帮助你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM