2016-08-22 96 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在服务器上保持更新。

相关问题