Worklight Console 设置 "Active, Notifying" 以将通知推送到客户端。

Worklight Console set "Active, Notifying" to push notification to client.

我使用 worklight5.06 控制台集 "Active, Notifying" 推送通知,我的应用程序可以接收到通知。但是在worklight6.20中设置相同,我的APP收不到通知。

WL5.06 和 WL6.20 有什么区别?

我正在关注视频:https://www.youtube.com/watch?v=oDHrqnWieXI

下面是我的APP代码:

    <body onload="WL.Client.init({})" style="display: none;">
        <!--application UI goes here-->
        Hello Worklight
        <script src="js/initOptions.js"></script>
        <script src="js/main.js"></script>
        <script src="js/messages.js"></script>
    </body>

5.0.6 和 6.2 之间的一切都发生了变化。请注意,即使是 6.2 也很旧,因为没有 7.1。你真的应该升级。

您可以在知识中心阅读 6.2 的新功能部分(我建议您也阅读 6.1 和 6.0 的新功能部分):http://www-01.ibm.com/support/knowledgecenter/SSNJXP/welcome.html

更具体地说,您在该代码段中初始化应用程序的整个方式是错误的

请在 Worklight Studio 6.2 中创建一个新项目和应用程序,并查看项目结构及其工作方式。

确保远程通知为您工作的最简单方法是添加连接 API,然后在控制台中设置通知。最后,为了验证,请在预览版或设备中启动应用程序。

不要更改 HTML。 将 main.js 中的 wlCommonInit() 替换为以下内容:

function wlCommonInit() {
    WL.Client.connect({onSuccess: success, onFailure: failure});
}

function success() {
    alert ("success");
}

function failure() {
    alert ("failure");
}

测试时,您应该会收到一个显示 "connect" 的警报,然后是另一个带有您在控制台中放置的远程通知文本的警报。

注意:与 5.0.6 不同,您不需要使用服务器 URL 编辑 application-descriptor.xml。这是由 Studio 在开发环境中为您完成的。