IBM Worklight 6.0 - 未触发WL.Client.Push.subscribe回调

时间:2013-12-02 15:14:23

标签: android push-notification ibm-mobilefirst

我在Android上遇到推送通知问题, 我的主要问题是调用WL.Client.Push.subscribe,然后调用成功或失败回调。

if (WL.Client.Push){        
    WL.Client.Push.onReadyToSubscribe = function(){
        alert("onReadyToSubscribe");
        if (isPushSubscribed() == false) {
            doSubscribe();
        }
    };  
}

function doSubscribe(){
    alert("doSubscribe");
    WL.Client.Push.subscribe("myPush", {
        onSuccess: doSubscribeSuccess,
        onFailure: doSubscribeFailure
    });
}

function doSubscribeSuccess(){
    WL.Logger.debug("doSubscribeSuccess");
    alert("doSubscribeSuccess");
}

function doSubscribeFailure(){
    WL.Logger.debug("doSubscribeFailure");
    alert("doSubscribeFailure");
}

此代码在前几天运行良好,我最近更改了我的Android软件包名称和我的android显示名称(以及应用程序描述符中使用的api密钥和项目编号)。

这可能是Worklight问题吗?没有任何失败或成功回调是正常的吗?

我还尝试使用远程检查器(WEINRE)进行调试,并且没有导致此行为的javascript错误。

有没有人知道为什么会这样? 我的代码中有什么问题吗?

编辑: 我再次测试了我的iOS版本,它运行正常。对于Android,我仍然有这个问题。 onReadyToSubscribe仅在Android上的app启动时触发,但在用户登录后不会触发。 在iOS中,它在应用程序启动后触发(没有订阅失败或成功回调)以及登录后(使用工作订阅回调)。

编辑2: 在android日志中,我可以看到我登录时: W / CordovaPlugin(26319):尝试发送第二个ID回调:Push924901903

1 个答案:

答案 0 :(得分:0)

你是否正在进行onReadyToSubscribe回调?日志?