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

时间:2013-12-31 09:06:07

标签: android push-notification ibm-mobilefirst

我在使用Android环境的基于Worklight的应用程序中遇到订阅问题。

第一次,当应用程序执行订阅时,一切正常,但是当取消订阅和注销然后再次尝试登录并第二次订阅用户时,就会出现问题。

通常,如日志所示,支持通知并取消订阅用户。但是我收到了这个错误:

  

无法订阅,服务器上的通知令牌未更新

这是LogCat:

  

12-31 09:41:17.220:D / CordovaLog(6293):isSupported:true 12-31   09:41:17.220:D / CordovaLog(6293):isSubscribed:12-31   09:41:17.220:E / CPCapp(6293):无法订阅,通知令牌是   未在服务器上更新12-31 09:41:17.295:D / CPCapp(6293):清除   通知订阅。 12-31 09:41:17.300:D / CPCapp(6293):发送   新服务器通知令牌ID。 12-31 09:41:17.300:   D / GCMRegistrar(6293):重置com.CPCapp 12-31的退避   09:41:17.300:V / GCMRegistrar(6293):注册app APP_PACKAGE   发件人SENDER_NUMBER

我看到这个问题可能与同一问题有关,但不确定是:IBM Worklight 6.0 - Push subscribing stopped from working

我正在使用Worklight 6.0,Android 4.1和AdapterAuthentication以及endUser作为参数。

1 个答案:

答案 0 :(得分:2)

根据评论,我还使用push notifications sample project in Worklight 6.1.0进行了测试。

注销和退回后应用程序无法订阅/取消订阅的原因可能与LogCat中出现的此CordovaPlugin消息有关:

  

01-02 15:20:13.530:W / CordovaPlugin(27846):试图发送一秒   回调ID:Push66817967 01-02 15:20:13.530:   W / CordovaPlugin(27846):结果是:   “APA91bHDrNHkbBwVtdrjqHj-KNGnmlMue2heoK7dGIHEnQW6ORJpaFregHRKs9qjUOsuIGue9r3ZfbQvwCQtgGZH9MI7U8gbXmrkrtYgyslHNlQemMjAxK40CuRO78Xw9sTnlrzvEFkA4oZ3PUYLgqMz2fnWsKLd0w”

我已经打开了一个缺陷,它将被调查。


我提出了一个解决方法,通过执行以下操作对我有用,但请注意:

  • 为了最小化应用流量测试,此工作量应仅 ,直到问题得到解决。


HTML:

<input type="button" id="logoutButton" value="Logout" onclick="logoutFromApp();" />


JavaScript的:
请参阅WL.Client.connect之后添加的WL.Client.reloadApp

function logoutFromApp() {
    WL.Client.logout("PushAppRealm", {
        onSuccess: function() {
            WL.Client.reloadApp(); 
            WL.Client.connect({onSuccess: successfulConnect, onFailure: failedConnect});
        },
        onFailure: function() { 
            alert ("Failed logging out");}
        }
    );
}

function successfulConnect() {
    WL.Logger.debug ("Connect state: success");
}

function failedConnect() {
    WL.Logger.debug ("Connect state: failure");
}