2016-02-26 139 views
0

我正在使用推送通知的mobilefirst 6.3混合應用程序工作,並且在應用程序啓動WL.Client時遇到了我的問題。 Push.isSubscribed返回false,即使我只是將該用戶訂閱到同一事件。WL.Client.Push.isSubscribed始終在重新啓動應用程序時返回false

我在每一次我希望用戶收到該應用程序內的suscription所有會話我的用戶suscribe,但這種方法在我的適配器,它會記錄用戶suscription:

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

,只有觸發第一次用戶訂閱,所以這個問題似乎在應用程序的懷疑

從outise我的應用程序,即使WL.Client.Push.isSubscribed返回false,仍然繼續推動,我不會在會話中訂閱用戶

問題是,我必須在每屆會議上收看該活動?或者這是一個錯誤?

+0

這個問題是否也發生在示例應用程序中或僅在您的應用程序中?如果只有你的,請提供你的實施。 –

+0

在Eventsource通知中,推送訂閱狀態與您的用戶身份相關聯。 isSubscribed()只有在成功驗證(作爲用戶)後才返回true。在重新啓動應用程序時,在嘗試isSubscribed()之前是否連接到服務器並進行了身份驗證? –

回答

0

正如意見建議的Vivin:

在EventSource的通知,強制訂閱狀態是否與您的用戶身份。 isSubscribed()只有在成功驗證(作爲用戶)後才返回true。

當您重新啓動您的應用程序時,是否在嘗試isSubscribed()之前連接到服務器並進行身份驗證?

確保例如您正在使用application-descriptor.xml中的安全測試正確保護應用程序。如果您在應用程序上執行connect()嘗試,則會提示登錄屏幕顯示,因此在檢查是否已訂閱之前先讓用戶登錄。這當然都取決於您的應用程序邏輯...

+0

我在我的應用程序中放置了2個按鈕來測試這個。這在登錄成功後出現。一個用於suscribe,一個用於測試用戶是否訂閱,並且我看到WL.Client.Push.onReadyToSubscribe事件在應用中觸發兩次。 – user2449016