GCM推送通知,c# asp.net在android设备上给出null作为通知
本文关键字:通知 null asp GCM net android | 更新日期: 2023-09-27 17:53:44
我正在c#中创建一个类,该类具有在android中使用GCM发送推送通知的方法。这种方法效果很好,也给了谷歌作为成功的回应。但在android模拟器中,通知是空的。下面是我使用的代码,
public void NotifyTest(string regId)
{
var applicationID = "AIza*************";
var SENDER_ID = "xxxxxxxxxx";
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
httpWebRequest.Headers.Add(string.Format("Sender: key={0}", SENDER_ID));
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{'"registration_ids'":['""+ regId +"'"]," +
"'"data'": { '"score'" : '"1234'"}}";
Console.WriteLine(json);
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
Console.WriteLine(result);
}
}
}
代码正在工作,没有任何错误,并从谷歌返回响应。请让我知道你的建议。
您需要替换json字符串如下&修改你的Android代码的get消息&名字。
字符串registration_ids json = "{'" '":['" + regId + "'"]," + "'" 数据'":{'"消息'",'"1234 '",'"'",'"Arvind Sharma '"}}";
在Android的OnMessage(在GCMIntent服务中)写以下行
String message = intent.getStringExtra("score");
快乐Coading:)