在Windows手机应用程序上打开推送通知吐司后,是否可以导航到某个屏幕?

时间:2015-04-10 01:06:06

标签: push-notification windows-phone-8.1 ibm-mobilefirst

我正在使用MFP 7上的推送通知进行应用,我想在点击吐司推送通知后打开某些具有特定信息的屏幕,我找到了一些信息,但我不知道如何传递参数屏幕和我需要的其他人。我正在使用http适配器发送通知

2 个答案:

答案 0 :(得分:1)

如果您正在使用事件源通知,那么您可以发送专门的参数作为有效负载,并在应用加载时检查其值(或者在显示推送时,无关紧要)。然后,根据有效负载值更改为特定页面内容。

例如,在这里我将有效载荷发送为" foo"有价值" bar":

WL.Server.notifyAllDevices(userSubscription, { 
    badge: 1, 
    sound: "sound.mp3", 
    activateButtonLabel: "ClickMe", 
    alert: notificationText, 
    payload: { 
        foo : 'bar' 
    } 
});

在app逻辑中,我检查了值:

function pushNotificationReceived(props, payload) {     
    if (payload.foo == "bar") { 
        // change page, etc and display the message
    }   
}

您还可以使用基于标记的通知(如果通过推送通知发送的信息不是敏感信息),然后根据标记执行操作。您可以在开发人员中心了解有关代码通知的更多信息:https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-0/notifications/

答案 1 :(得分:0)

假设MPNS通知和查询是关于Windows Phone silverlight(混合),要在Toast通知到达时导航到特定页面,首先您需要在" param"中指定页面和其他详细信息。 MPNS吐司。

http://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.apiref.doc/html/refjavascript-server/html/WL.Server.html%23notifyAllDevices

具体参考MPNS下的通知选项 - >吐司

例如:

var notification = WL.Server.createDefaultNotification(notificationText, badgeDigit,{custom : 'data'});

notification.MPNS.toast={text1 : "hello" , text2 :"world",param:"/MainPage.xaml?value1=54321"};

WL.Server.notifyAllDevices(userSubscription, notification);

要检索收到的值(在本例中为54321),据我所知,没有直接的方法。你可以写一个Cordova插件 可以检索该值并使用它来获取分配给键的值" value1"在示例中。