IBM Mobilefirst:有没有一种方法可以向 deviceid 发送推送通知,而与用户无关

Posted

技术标签:

【中文标题】IBM Mobilefirst:有没有一种方法可以向 deviceid 发送推送通知,而与用户无关【英文标题】:IBM Mobilefirst: Is there a way I can send a push notification to deviceid irrespective of user 【发布时间】:2016-10-04 06:44:35 【问题描述】:

我想为多个用户订阅一个设备以在 MFP 中推送通知。我认为这是不可能的。

所以我想要做的是我想在 deviceid 忽略用户的基础上发送我的通知。这可能吗?

我看到了两种向设备发送通知的方法,但我看到它们仍然需要用户 ID。

WL.Server.notifyDevice(userSubscription, deviceId, notification);
WL.Server.notifyDeviceSubscription(deviceSubscription, notificationOptions)

还有其他方法吗,请指教。

【问题讨论】:

【参考方案1】:

是的,您可以使用多种方式发送针对 deviceId 的推送通知。

    您可以使用sendMessage API,您可以在目标参数中指定 deviceIds。在这种情况下,只有那些 deviceId 会收到通知。

    有关 API 的更多详细信息:https://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.apiref.doc/html/refjavascript-server/html/WL.Server.html#sendMessage

    Send Message REST API,您需要将目标添加为 deviceIds。

以下是有效载荷示例。


  "message" : 
    "alert" : "Test message",
  ,
  "target" : 
    "deviceIds" : [ "MyDeviceId1", ... ]
  ,

有关 API 的更多详细信息:https://www.ibm.com/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.apiref.doc/rest_runtime/r_restapi_send_message_post.html

【讨论】:

谢谢维塔尔。 Vittal 我有一个小问题,我正在发送您上面提到的通知。但是当我收到通知时,它调用 onMessage() 方法,但该方法的道具和有效负载为空,我想我必须给它一个标签名称,你能帮忙我可以给出什么标签名称。我应该如何避免这个问题。 @Bender 标签名称用于基于标签的推送通知。似乎您没有传递除消息以外的任何参数。参考有效载荷/属性示例here。 我正在发送 notificationOptions.target.deviceIds =deviceIds ;和 notificationOptions.message.alert = notificationText;我正在收到通知,我在通知栏中看不到通知,但在 onmessage 方法中消息为空。

以上是关于IBM Mobilefirst:有没有一种方法可以向 deviceid 发送推送通知,而与用户无关的主要内容,如果未能解决你的问题,请参考以下文章

IBM Mobilefirst 和 IBM Bluemix

IBM MobileFirst 8.0 适配器中的 RESTful 方法

IBM MobileFirst 通过 ant 脚本添加环境

IBM MobileFirst Adapters 安全角色

IBM mobilefirst http 适配器无法访问 pdf 附件

在 IBM MobileFirst Platform 上获取位置时出错