我目前正在尝试实现对C2D消息的一些处理。到目前为止,从IoT中心功能发送C2D消息就像一个魔咒,我接收和处理有效负载没有任何问题。
然而,我的问题是,在启动端,我总是得到肯定的确认,即使我在处理命令时杀死了物联网设备。似乎所有文档在涉及到对C2D消息的响应时都开始变得有点模糊。我确实多次阅读了物联网中心功能的相关文档。。。希望我没有错过一个重要的部分,但我对此表示怀疑。
那么,我如何显式地将响应发送回包含有效载荷的发起者呢?
我目前正在免费演示订阅,因为我正在与物联网中心进行第一步。
非常感谢你的帮助。
从云到设备的任何通信都可以从这个页面开始。据我所知,在您的情况下,您可能希望使用直接方法而不是C2D消息。C2D消息非常适合通知设备,但是正如您所体验到的,没有用于响应消息的内置功能。
直接方法允许向设备发送请求,并允许该设备响应该请求。请求和响应都允许使用128 KB的JSON负载,因此您可以在设备端使用该负载发送回一些内容。
更新:如评论中所述,除了接受/拒绝来自设备的C2D消息外,您对如何处理该设备的C2D消息没有太大影响。下面是如何使用C#Device SDK拒绝消息。
private async Task RejectSample()
{
var deviceClient = DeviceClient.CreateFromConnectionString("muchconnectionstring");
var message = await deviceClient.ReceiveAsync();
// await deviceClient.CompleteAsync(message);
await deviceClient.RejectAsync(message);
}
在搜索文档之后,我找不到任何关于如何在没有使用外部服务器的情况下使用FCM向设备发送消息的信息。 例如,如果我正在创建一个聊天应用程序,我将需要向用户发送关于未读消息的推送通知,因为他们不会一直在线,而且我不可能在后台有一个始终连接到实时数据库的持久服务,因为这会占用太多资源。 那么当某个用户“B”向他/她发送聊天消息时,我将如何向用户“a”发送推送通知呢?我需要一个外部服务器来完成这个任务吗?还
null 当我确实从Firebase云消息发送给自己一条测试消息时,它确实工作正常,并且成功地向每个设备发送了一个推送通知。 例如,以下是 null
我正在构建一个基于MQTT的Rust应用程序,该应用程序向IoTHub发送消息,以便将消息转发到监听云到设备消息的目标设备。 目标设备“myDev”订阅了主题,它可以从IoTHub接口(“Azure门户上的消息到设备”)接收消息。 我发现的用其他编程语言实现这一点的示例使用Azure IoT SDK,它有一个客户端服务。例如,参见Java示例:https://docs.microsoft.com/
我正在使用Azure IOT SDK,试图发送一条带有字符串正文的云到设备消息,并在SDK中接收该消息。无论我发送什么,SDK都会以字节数组格式显示。如何从云向我的设备SDK发送字符串而不是字节数组? 这是我遵循的代码示例:https://github.com/Azure/azure-iot-sdk-c/blob/master/iothub_client/samples/iothub_ll_c2d
我可以在iOS和Android上从Firebase控制台向我的应用程序发送测试通知。因此,我的应用程序设置正确,可以在两个平台上接收推送通知。但是,当我使用云函数发送通知时。仅接收Android设备上的通知。iOS设备上未显示任何通知。我怀疑这可能与我在云函数中创建有效负载的方式有关。也许我错过了iOS的一些东西。如果你能给我一些建议,那就太好了。 我检查了iOS设备的deviceToken是否正
我有一个Azure IOT解决方案,其中来自两台设备的数据将传输到同一IOT中心。从我的计算机上,我只需要从其中一个设备读取消息。我实现了ReadDeviceToCloudMessages。js inhttps://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-node-node-getstarted 但是我在IOThub里收到了所有的信息。如何仅从