IBM Worklight:推送通知设备 ID

Posted

技术标签:

【中文标题】IBM Worklight:推送通知设备 ID【英文标题】:IBM Worklight: Push Notification Device ID 【发布时间】:2013-03-18 06:42:01 【问题描述】:

deviceSubscription 中有一个名为“device”的字段。我假设它对应于设备的设备 ID。并且这个值被用作 WL.Server.notifyDevice(userSubscription, device, options) 中的参数来为用户提交特定设备的通知。

但是,当我再次重新安装应用程序时,deviceSubscription.device 中的值发生了变化。因此,虽然它们实际上是同一个设备,但订阅事件源的设备 ID 却不同。

我可以知道 deviceSubscription.device 来自哪里吗?

非常感谢。

【问题讨论】:

【参考方案1】:

“设备 ID”这个名称确实令人困惑。它不引用物理设备,而是引用应用程序。因此,当您重新安装应用程序时,您会得到不同的值(它是由客户端框架生成的)。

【讨论】:

谢谢伊丹。当我重新安装应用程序(之前的订阅已完成但未取消订阅)并再次订阅时,我碰巧可以通过调用 WL.Client.notifyAll(eventSource, options) 接收重复的通知。有没有办法避免这种情况?谢谢。 哈,我会说这将是推送通知实现中的一个设计错误。 :) 这是“预期的”......我不知道有什么办法。我已转发此信息。谢谢! 如果有任何更新,请随时给我留言。 顺便说一下,有一些内部表(NOTIFICATION_USER、NOTIFICATION_DEVICE等)存储了通知信息。由于我们的应用程序也需要存储通知信息,您是否建议我们直接引用这些表?还是我们在服务器端收到通知消息时维护另一个表来存储这些信息会更好? 你不应该碰那些桌子。

以上是关于IBM Worklight:推送通知设备 ID的主要内容,如果未能解决你的问题,请参考以下文章

多用户的 Worklight 推送通知

在 IBM Worklight 推送通知中使用轮询时出现问题

IBM Worklight - Android 上的推送通知

IBM Worklight 5.0.6 - 在推送通知错误时播放自定义声音

IBM Worklight - 可靠的推送通知

IBM Worklight:推送通知行为