我正在用 C# 创建一个类,它有一个方法可以使用 GCM 在 android 中发送推送通知。该方法运行良好,并且还给出了来自谷歌的成功响应。但在 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);
}
}
}
代码运行正常,没有任何错误,并且也返回了来自 Google 的响应。请让我知道建议。
最佳答案
您需要替换下面的 json 字符串并修改您的 Android 代码以获取消息和名称。
string json = "{\"registration_ids\":[\""+ regId + "\"],"+ "\"data\": {\"message\":\"1234\",\"姓名\":\"Arvind Sharma\"}}";
关于c# - 使用 C# asp.net 的 GCM 推送通知在 Android 设备中给出 null 作为通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355528/