Worklight 6.2.0.01 订阅推送通知失败

Posted

技术标签:

【中文标题】Worklight 6.2.0.01 订阅推送通知失败【英文标题】:Worklight 6.2.0.01 fails to subscribe for push notifications 【发布时间】:2014-11-21 08:14:14 【问题描述】:

我们在使用具有 6.2.0.01 版本的工作灯的 Eclipse Studio 注册 GCM 推送工作灯的设备时遇到问题。

问题出在 worklight.js 文件中的 __isDeviceSupportPush 函数中,返回 undefined 导致设备未注册 GCM。

this.__isDeviceSupportPush = function() 
       var androidSDKVersion = WL.Client.__getAndroidSDKVersion(); // THIS RETURNS UNDEFINED
       return  androidSDKVersion != undefined && parseInt(androidSDKVersion) >= 8;
;

但是worklight 6.2.0.00就没有这个问题了,同一个文件worklight.js中定义的函数不一样:

this.__isDeviceSupportPush = function() 
        return typeof device.version != undefined && parseFloat(device.version.substr(0, 3)) >= 2.2;
;

这行得通,设备成功注册了 GCM。 在 worklight 6.2.0.01 中对此有何修复或更新?

谢谢。

【问题讨论】:

开发团队目前正在对此进行调查。 推送通知入门示例中是否存在此问题?另外,出现问题的设备的 Android 版本是什么? 使用推送通知入门示例无法重新创建问题。WL 版本是 6.2.0.01.20141120-1827。在 Android 4.1.2 设备和 4.2.2 模拟器上测试。所以如上所述,请确认您是否可以在推送通知入门示例中重新创建?如果在示例中没有看到,那么您可以创建一个可以重新创建问题的示例吗?另外,出现问题的设备的 Android 版本是什么? 是的,它也发生在推送样本上。我看到的一个区别是您的 WL 版本与我的不同,我更新后的版本是 6.2.0.01-20141027-1531,您的看起来像更新的版本?我更新的方式是通过市场,到目前为止我没有看到任何新的更新。 出现问题的设备的 Android 版本是什么? 【参考方案1】:

如 cmets 中所写,该问题无法在提到的 Worklight 6.2.0.01 版本中重现。

要使用最新的 iFix for Worklight 6.2.0.01,您需要从 IBM Fix Central 下载它。 Eclipse Marketplace 仅包含最新版本,即现在的 v6.3。

【讨论】:

以上是关于Worklight 6.2.0.01 订阅推送通知失败的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight - 仅向订阅用户推送通知

worklight中的推送通知,如何检索userId?

IBM worklight 中基于标签的推送通知示例

IBM Workilght 6.0 - 注销后无法订阅推送通知

getUser 通知订阅 WORK LIGHT 推送通知中的用户 ID

多用户的 Worklight 推送通知