我可以在Worklight中扩展服务器端Java代码吗?
例如,JavaScriptIntegrationLibraryImplementation
下有一个名为com.worklight.integration.js
的类。在这个类中,有一个方法broadcastNotification
,我想覆盖这个方法。是否可以这样做?
修改的
原因是:
当我在客户端使用选项字段进行订阅时(例如添加customType:A),我想检索已订阅此事件源的设备列表。基于deviceSubscrpition中的选项字段,我希望有一些业务逻辑来确定发送通知消息的人员。例如,我只会将消息提交给'customType = A'的用户。
但是,Worklight中没有API可以检索使我首先检索列表的设备列表。然后在JavaScript中执行逻辑并调用WL.Server.notifyDevice ..
因此,我想检查是否有任何方法来检索已订阅事件源的设备列表(通过连接到DB的API /适配器)。
感谢。
答案 0 :(得分:0)
Worklight的这部分不可扩展。您可以尝试覆盖此方法,但请注意这不受支持,在这种情况下我们无法提供帮助。
修改强>
现在很清楚你想要实现的目标......你正在寻找的目前还没有。我将打开一个功能请求,它将在某个时候得到评估(如果您是IBM的客户,我建议您与您的联系人联系......)。
我的建议(在形式上有些晦涩):您可以使用多个事件源,其中每个事件源代表一个iOS版本。在客户端,在应用程序初始化时,您可以检索iOS版本并使用它来注册到正确的事件源(这将是非常通用的代码以允许重复使用)。如果发布了新的iOS版本(您可能会提前知道),只需将此事件源添加到适配器代码并重新部署适配器即可。新iOS版本的用户仍然可以注册通知,因为您在初始化时获得iOS版本,并使用此信息注册到正确的事件源...
重申:
适配器包含:ES_iOS5 ES_iOS6
客户:
答案 1 :(得分:0)
@ Red23jordon,
我有类似的情况,我创建了一个自定义表,在订阅时,我正在保存 自定义表中的用户ID和事件类型。当用户取消订阅时,我也会从自定义表中删除详细信息。
为了向订阅特定“偶数类型”的用户发送推送,我查看自定义表以获取订阅特定事件类型的用户ID列表,然后我进入通知用户/设备表并获取相应设备并发送推送
希望它可以帮到你。
感谢