我在我的项目中使用GCM。 我正在尝试实现gcm,但每次我收到错误MissingRegistration。
下面是代码
string regId = "APA91bGdOrgXqDZkXQ75D_5voAjjr4S288L3JPtndSeuZndhCLieokzoZw4aKlzBKlsubdlRnRibNRAvJXWoBj6-Fi5cW2wpGOtqUPyeA13qvPMy766447ZbE-zP2L8kpHuYA20dD3LX2PKSuEn8AsL90v1QfLH9rw";
var applicationID = "AIzaSyCGD36ySTZTEJ8vh6qcgMWVolKmqZjSUV0";
var SENDER_ID = "MyProjectID";
var value = "test message";
System.Net.WebRequest tRequest;
tRequest = System.Net.WebRequest.Create("https://android.googleapis.com/gcm/send");
tRequest.Method = "post";
tRequest.ContentType = " application/x-www-form-urlencoded;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=1&data.message="
+ value + "&data.time=" + System.DateTime.Now.ToString() + "®istration_ids=" + regId + "";
Console.WriteLine(postData);
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
tRequest.ContentLength = byteArray.Length;
System.IO.Stream dataStream = tRequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
System.Net.WebResponse tResponse = tRequest.GetResponse();
dataStream = tResponse.GetResponseStream();
System.IO.StreamReader tReader = new System.IO.StreamReader(dataStream);
String sResponseFromServer = tReader.ReadToEnd();
Response.Write(sResponseFromServer); //printing response from GCM server.
tReader.Close();
dataStream.Close();
tResponse.Close();
我从之前的问题中尝试了几个答案,但没有任何问题 请帮忙
答案 0 :(得分:0)
将registration_ids
替换为registration_id
。HTTP Connection Server Reference说明registration_ids
仅在JSON格式的请求中有效:
<强> registration_ids 强>
仅将此参数用于多播消息传递,而不是单个消息传递 收件人。组播消息(发送到1个以上的注册 令牌只允许使用HTTP JSON格式。