getUser 通知订阅 WORK LIGHT 推送通知中的用户 ID
Posted
技术标签:
【中文标题】getUser 通知订阅 WORK LIGHT 推送通知中的用户 ID【英文标题】:userID in getUserNotificationSubscription WORKLIGHT Pushnotification 【发布时间】:2014-03-19 06:09:05 【问题描述】:我正在我的 IBM worklight 项目中实现推送通知。 developerworks 中的示例代码使用一些身份验证挑战者机制来完成订阅。我以某种方式使用相同的身份验证挑战来进行订阅(尽管我的应用程序设计不需要这样做)。示例代码中没有写入通知调用的实际触发器。
我从网络资源中发现需要使用 WL.Server.getUserNotificationSubscription(eventSourceName, userId) 来获取订阅的用户详细信息。但是我不知道如何在这里获取 userId 详细信息?请让我知道这里的 userId 是什么以及如何获取它的值。
【问题讨论】:
【参考方案1】:这里是关于WL.Server.getUserNotificationSubscripion
的信息:
getUserNotificationSubscription:
getUserNotificationSubscription(eventSource, userId) 返回一个 用户的订阅对象。返回一个订阅对象 具有指定ID的用户到指定的事件源。
参数: 事件源 - 强制。包含事件源名称的字符串。 用户 ID - 必填项。在登录过程中创建的包含用户 ID 的字符串。用户ID可以通过调用获取 WL.Server.getActiveUser。
返回: 该方法返回一个包含用户 ID 和可变订阅状态的订阅对象。 示例:userId: 'bjones', state: numCoupons: 3
注意: 所有订阅对象字段都是只读的,用户订阅状态除外。您可以在您的 javascript 代码,然后必须使用 save 方法将其保存到 IBM® Worklight® 数据库。
如您所见,userId 是在登录和身份验证过程中创建的特定用户。 Worklight 提供了一个服务器端 API WL.Server.getActiveUser(),它允许您检索当前用户。
关于您的其他陈述“在示例代码中未编写通知调用的实际触发器。” Worklight 实际上在示例项目中提供了一个 jar 文件,允许您触发通知。以下是有关此后端仿真的更多信息:
如果您还有其他问题,请告诉我。
【讨论】:
感谢您的回答。我仍然对为什么需要通过登录和身份验证过程进行推送通知有疑问。我的应用程序不需要登录。对此的任何想法都将帮助我更好地理解身份验证挑战者的需求。 因此,为了了解向您发送推送通知的用户,需要具有某种用户结构。如果您不需要用户登录,您仍然需要某种结构来指定用户。我会指出另一篇文章,它显示了使用持久 cookie 来完成此操作的机制:***.com/questions/20542930/…以上是关于getUser 通知订阅 WORK LIGHT 推送通知中的用户 ID的主要内容,如果未能解决你的问题,请参考以下文章