通过URL通知

时间:2015-08-10 19:55:03

标签: ibm-mobilefirst

我想知道是否可以配置远程通知选项来传递URL。

我看到onErrorRemoteDisableDenial有一个功能。我试图修改它,但它似乎禁用了该应用程序。即使我把代码继续下去,下一次调用后端也行不通。

但我们正在寻找的是让用户可以选择通过网址进行更新,或者继续使用他们目前拥有的应用版本。

使用Worklight 6.1

1 个答案:

答案 0 :(得分:0)

有一种方法可以自定义远程禁用和远程通知,但downloadLink(您在Worklight Console中设置的链接)仅在设置远程禁用而非远程通知时可用。只有message(Worklight Console中设置的文本)可用。

您可以使用main.js中的以下内容(在任何函数之外)自定义远程通知流程:

wl_remoteDisableChallengeHandler.handleChallenge = function(message,downloadLink) {
    WL.SimpleDialog.show(
        "New Version",
        message, 
        [
         {text: "Download", handler: function() {
             // Maybe use WL.App.openURL(downloadLink) to go to the app store
         }},
         {text: "Close", handler: function() {
             // Continue with the app
         }}
        ]);
};

wl_remoteDisableChallengeHandler.handleChallenge会覆盖默认的Remote Notify 代码路径。 wl_remoteDisableChallengeHandler.handleFailure将覆盖默认的远程禁用代码路径(和this is another way以自定义远程禁用)。

编辑:根据评论中的调查结果,为了同时获得messagedownloadLink,您首先需要临时设置Remote Disable,然后更改为Remote Notify,这是一个变通方法因为默认情况下Remote Notify并不意味着也将downloadLink传递给默认提供的对话框。

注意:远程通知仅在消息的生命周期中显示一次,因此在显示之后 - 在控制台中再次设置消息之前,它不会再次显示。

让代码在每个应用程序启动时工作的方法是清除应用程序的HTML本地存储(在应用程序运行时的某个时刻),其中有一个"标记"存储是为了告诉应用程序不再显示消息(我忘了它的名字,但你可以打印本地存储的内容并进行调试)。

听起来很不错的功能请求:https://developer.ibm.com/mobilefirstplatform/help