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);
            }
        }
    }

代码正在工作,没有任何错误,并从谷歌返回响应。请让我知道你的建议。

GCM推送通知,c# asp.net在android设备上给出null作为通知

您需要替换json字符串如下&修改你的Android代码的get消息&名字。

字符串registration_ids json = "{'" '":['" + regId + "'"]," + "'" 数据'":{'"消息'",'"1234 '",'"'",'"Arvind Sharma '"}}";

在Android的OnMessage(在GCMIntent服务中)写以下行

  String message = intent.getStringExtra("score");

快乐Coading:)