通过 URL 通知

Pass URL with Notifying

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

我看到 onErrorRemoteDisableDenial 有一个函数。我试图修改它,但它似乎禁用了该应用程序。即使我将代码继续,对后端的下一次调用也不起作用。

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

使用 Worklight 6.1

有一种方法可以自定义 Remote Disable 和 Remote Notify,但是 downloadLink(您在 Worklight Console 中设置的 link)仅在设置 Remote Disable 时可用,而不是远程通知。只有 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 将覆盖默认的 Remote Disable 代码路径(和 this is another way 自定义 Remote Disable)。

编辑:根据评论中的发现,为了同时获得messagedownloadLink,您首先需要临时设置Remote Disable然后更改为Remote Notify,这是一种解决方法,因为默认情况下远程通知并不意味着将下载链接也传递给默认提供的对话框。

注意:Remote Notify 在每个消息的生命周期中只显示一次,因此在显示后 - 直到在控制台中再次设置消息后才会再次显示。

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

听起来像是一个不错的功能请求:https://developer.ibm.com/mobilefirstplatform/help