void OnGUI() { if (GUI.Button(new Rect(320, 40, 150, 20), "send message by API")) { AliApiClient.setPalyLoad4Request(request, "{\"volume\":25}"); try { PubResponse response = client.GetAcsResponse(request); if (response.Success.HasValue && response.Success.Value) { Debug.Log("message has sent by Aliyun API."); } else { Debug.Log(response.ErrorMessage); } } catch (ServerException e) { Debug.Log(e.ErrorCode); Debug.Log(e.ErrorMessage); } catch (ClientException e) { Debug.Log(e.ErrorCode); Debug.Log(e.ErrorMessage); } } }
//向某一topic发布消息,注意topic,消息内容要提前进行base64编码 private static void TestPub() { IClientProfile clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>"); DefaultAcsClient client = new DefaultAcsClient(clientProfile); PubRequest request = new PubRequest(); request.ProductKey = "<productKey>"; request.TopicFullName = "/" + request.ProductKey + "/<deviceName>/get"; byte[] payload = Encoding.Default.GetBytes("Hello World."); String payloadStr = Convert.ToBase64String(payload); request.MessageContent = payloadStr; request.Qos = 0; try { PubResponse response = client.GetAcsResponse(request); Console.WriteLine("publish message result: " + response.Success); Console.WriteLine(response.ErrorMessage); } catch (ServerException e) { Console.WriteLine(e.ErrorCode); Console.WriteLine(e.ErrorMessage); } catch (ClientException e) { Console.WriteLine(e.ErrorCode); Console.WriteLine(e.ErrorMessage); } Console.ReadKey(); }
public static PubResponse Unmarshall(UnmarshallerContext context) { PubResponse pubResponse = new PubResponse(); pubResponse.HttpResponse = context.HttpResponse; pubResponse.RequestId = context.StringValue("Pub.RequestId"); pubResponse.Success = context.BooleanValue("Pub.Success"); pubResponse.ErrorMessage = context.StringValue("Pub.ErrorMessage"); return(pubResponse); }
public static PubResponse Unmarshall(UnmarshallerContext _ctx) { PubResponse pubResponse = new PubResponse(); pubResponse.HttpResponse = _ctx.HttpResponse; pubResponse.RequestId = _ctx.StringValue("Pub.RequestId"); pubResponse.Success = _ctx.BooleanValue("Pub.Success"); pubResponse.Code = _ctx.StringValue("Pub.Code"); pubResponse.ErrorMessage = _ctx.StringValue("Pub.ErrorMessage"); pubResponse.MessageId = _ctx.StringValue("Pub.MessageId"); return(pubResponse); }
//向某一topic发布消息,注意topic,消息内容要提前进行base64编码 public void TestPub() { DefaultAcsClient client = Demo.IotClient.GetClient(); PubRequest request = new PubRequest(); request.ProductKey = "<productKey>"; request.TopicFullName = "/" + request.ProductKey + "/TZCK/get"; byte[] payload = Encoding.Default.GetBytes("Hello World."); String payloadStr = Convert.ToBase64String(payload); request.MessageContent = payloadStr; request.Qos = 0; PubResponse response = client.GetAcsResponse(request); Console.WriteLine("publish message result: " + response.Success); Console.WriteLine(response.ErrorMessage); }
private string sendMessage(string deviceName, string topic, string message) { string text; if (lastDeviceName != deviceName || lastTopic != topic) { request = AliApiClient.getRequest("r7gAvsuXY2Y", deviceName, topic); lastDeviceName = deviceName; lastTopic = topic; } AliApiClient.setPalyLoad4Request(request, message); try { PubResponse response = client.GetAcsResponse(request); if (response.Success.HasValue && response.Success.Value) { text = message; } else { text = response.ErrorMessage; } } catch (ServerException e) { Debug.Log(e.ErrorCode); Debug.Log(e.ErrorMessage); text = e.ErrorMessage; } catch (ClientException e) { Debug.Log(e.ErrorCode); Debug.Log(e.ErrorMessage); text = e.ErrorMessage; } return(text); }
/// <summary> /// 发送消息到设备 /// </summary> /// <param name="device_productKey">产品Key</param> /// <param name="device_topic">设备topic</param> /// <param name="msgContent">消息内容</param> public static bool PubMsg(string device_productKey, string device_name, string msgContent) { IClientProfile clientProfile = DefaultProfile.GetProfile(Config.regionId, Config.accessKeyId, Config.accessKeySecret); DefaultAcsClient client = new DefaultAcsClient(clientProfile); try { byte[] bytes = Encoding.UTF8.GetBytes(msgContent); string strContent = Convert.ToBase64String(bytes); PubRequest pub = new PubRequest(); pub.ProductKey = device_productKey; pub.MessageContent = strContent; pub.TopicFullName = string.Format("/{0}/{1}/get", device_productKey, device_name); pub.Qos = 0; PubResponse resp = client.GetAcsResponse(pub); return(true); } catch (Exception err) { Console.Write(err.Message); return(false); } }