2016-08-22 146 views
0

我在工作燈6.2中遇到推送通知問題。當我更新設備的操作系統版本時,更新了worklight控制檯表中的deviceId。你知道這是否是正確的行爲?更新後版本的IBM Worklight 6.2推送通知os版本

+0

問題是什麼? userId中的更改是否阻止通知到達目的地? –

+0

當Android設備更新os版本時,更新worklight控制檯中的deviceId(No userId)(在設備選項卡下)。我注意到服務器日誌中的這種行爲。這是一個正確的行爲?另一個問題是即使每天使用此設備建立到Worklight服務器的連接,此用戶標識過期。我閱讀了文檔,並且userId在90天后過期,沒有連接到thr服務器。 – AleDev

+0

由於這種行爲,當我從該服務器發送推送通知時,該設備ID被拒絕。 – AleDev

回答

0

多個操作系統和硬件參數由Worklight SDK生成deviceID。這意味着,當操作系統升級時,deviceID可以更改。

如果在應用程序的整個生命週期中沒有操作系統更改 - 升級/重置,則deviceID不會更改。

另外,下次設備連接到服務器時(deviceID更改後),服務器將更新爲新值。

如果您在分派通知時直接傳遞deviceID,則尚未提及。如果是這樣,您應該考慮使用UserSubscription對象來獲取設備ID值。

例如:

notifyDevice

userSubscription = WL.Server.getUserNotificationSubscription ("MyEventSource", userID); 
var notification = WL.Server.createDefaultNotification("Hello"); 
var delayTimeout = WL.Server.notifyDevice(userSubscription, userSubscription.getDeviceSubscriptions()[0].token, notification); 

notifyDeviceSubscription

userSubscription = WL.Server.getUserNotificationSubscription ("MyEventSource", userID); 
var notification = WL.Server.createDefaultNotification("Hello"); 
var delayTimeout = WL.Server.notifyDeviceSubscription(userSubscription.getDeviceSubscriptions()[0], notification); 

這降低爲當用戶連接到服務器的訂閱更新,因丟失或錯誤的設備ID錯誤的可能性。這樣,設備ID在服務器上保持更新。

相關問題