Worklight:如何获取Push订阅的当前设备ID

时间:2013-05-23 08:50:59

标签: client push-notification device subscription ibm-mobilefirst

我想获取当前订阅的设备ID?我如何在客户端或服务器端获取它?

我知道订阅表,但我不想从中获取。

其次,如果一个用户已经订阅了两个设备,现在他/她正在订阅第三个设备,我想要捕获第三个(当前)设备ID。

稍后,我必须将第三个设备ID保存在另一个表中。

如果无法识别当前订阅的设备,那么如果我转到订阅表,那么我怎么知道“此设备ID是新注册的设备ID?”

希望很清楚。

由于

1 个答案:

答案 0 :(得分:1)

  1. 在适配器中注册事件源时,您可以指定onUserSubscribe回调。一旦用户订阅推送通知,就会调用此回调。一旦被调用,该回调将接收用户订阅对象作为参数。该对象包含userId和deviceId。

  2. WL.Server.getUserNotificationSubscription(“event-source”,“userId”)将返回带有设备订阅数组的用户订阅对象。每个设备订阅对象都有deviceId。

  3. 在客户端,deviceId是设备认证领域的userId。例如。如果您不使用配置,您可以使用WL.Client.getUserInfo(“wl_deviceNoProvisioningRealm”,“userId”)获取deviceId;

  4. 服务器端不知道您的“当前”设备。您可以使用onUserSubscribe回调将特定设备标记为最新。

  5. 用户订阅对象可以拥有自定义属性,您可以使用它们来维护订阅状态。