Json GCM将不同的有效负载推送到不同的设备
我想在同一时间将不同的有效载荷推送到不同的设备上。现在,我只能用下面的代码将相同的负载推送到不同的设备上Json GCM将不同的有效负载推送到不同的设备,json,google-cloud-messaging,Json,Google Cloud Messaging,我想在同一时间将不同的有效载荷推送到不同的设备上。现在,我只能用下面的代码将相同的负载推送到不同的设备上 string stringregIds = null; List<string> regIDs = new List<string>(); //Add some regID into the list stringregIds = string.Join("\",\"", regIDs.ToArray());; stri
string stringregIds = null;
List<string> regIDs = new List<string>();
//Add some regID into the list
stringregIds = string.Join("\",\"", regIDs.ToArray());;
string applicationID = "appID";
string SENDER_ID = "senderID";
string value = "Hello";
WebRequest tRequest;
tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
tRequest.Method = "post";
tRequest.ContentType = " application/json;charset=UTF-8";
tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID));
string postData = "{\"collapse_key\":\"score_update\",\"time_to_live\":108,\"delay_while_idle\":true,\"data\": { \"message\" : "
+"\""+value+"\",\"time\": "+"\""+System.DateTime.Now.ToString()+"\"},\"registration_ids\":[\""+stringregIds+"\"]}";
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
tRequest.ContentLength = byteArray.Length;
Stream dataStream = tRequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse tResponse = tRequest.GetResponse();
dataStream = tResponse.GetResponseStream();
StreamReader tReader = new StreamReader(dataStream);
String sResponseFromServer = tReader.ReadToEnd();
tReader.Close();
dataStream.Close();
tResponse.Close();
字符串stringregIds=null;
List regIDs=新列表();
//在列表中添加一些regID
stringregIds=string.Join(“\”,\”,regIDs.ToArray());;
字符串applicationID=“appID”;
字符串发送者\u ID=“senderID”;
string value=“Hello”;
WebRequest-tRequest;
tRequest=WebRequest.Create(“https://android.googleapis.com/gcm/send");
tRequest.Method=“post”;
tRequest.ContentType=“application/json;charset=UTF-8”;
添加(string.Format(“Authorization:key={0}”,applicationID));
添加(string.Format(“Sender:id={0}”,Sender_id));
字符串postData=“{\”折叠键\“:\”分数更新\“,\”生存时间\“:108,\”空闲时延迟\“:true,\”数据\“:{\”消息\“:”
+“\”“+value+”\“,\“time\”:“+”\”“+System.DateTime.Now.ToString()+“\”},\“注册ID\”:[\”“+stringregIds+“\”]}”;
Byte[]byteArray=Encoding.UTF8.GetBytes(postData);
tRequest.ContentLength=byteArray.Length;
Stream dataStream=tRequest.GetRequestStream();
写入(byteArray,0,byteArray.Length);
dataStream.Close();
WebResponse-treresponse=tRequest.GetResponse();
dataStream=treresponse.GetResponseStream();
StreamReader tReader=新的StreamReader(数据流);
字符串sResponseFromServer=tReader.ReadToEnd();
tReader.Close();
dataStream.Close();
t响应关闭();
是否有任何解决方案可以将多个有效负载发送到多个设备 向不同的设备发送不同的有效负载没有捷径。您必须在单独的HTTP请求中发送每条消息。每个请求将包含一个注册ID