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 会收到通知。
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 8.0 适配器中的 RESTful 方法