重新启动应用程序时,WL.Client.Push.isSubscribed始终返回false

时间:2016-02-26 18:41:51

标签: push-notification ibm-mobilefirst mobilefirst-adapters

我正在使用推送通知在mobilefirst 6.3混合应用程序中工作,并且我的疑问出现问题,当应用程序启动时,WL.Client.Push.isSubscribed会返回false,即使我只是将该用户留给同一事件。

每次我希望用户在应用程序内收到suscription时,我必须在所有会话中依赖我的用户,但在我的适配器中记录用户的这个方法:

function deviceSubscribeFuncCantRes(userSubscription, deviceSubscription) {
    WL.Logger.info(">> deviceSubscribeFunc");
    WL.Logger.info(userSubscription);
    WL.Logger.info(deviceSubscription);
} 

并且仅在用户第一次触发时触发,因此问题似乎出现在应用程序中?

从我的应用程序中看,即使WL.Client.Push.isSubscribed返回false并且我没有在会话中使用该用户,推送仍然会继续进行

问题是,我必须在每次会议中对这一事件作出承诺吗?或者这是一个错误?

1 个答案:

答案 0 :(得分:0)

正如Vivin在评论中所建议的那样:

  

在Eventsource通知中,推送订阅状态与您的用户身份相关联。 isSubscribed()仅在您成功通过身份验证(作为用户)后才返回true。

重新启动应用程序时,在尝试isSubscribed()之前,是否连接到服务器并成功进行身份验证?

例如,确保使用application-descriptor.xml中的安全性测试正确保护应用程序。如果您对应用程序执行connect()尝试,则会提示显示登录屏幕,从而在检查是否已订阅之前让用户先登录。这当然全部取决于您的应用程序逻辑......