Asp.net mvc 4 使用GCM和Asp.net MVC Web API向Android设备发送推送通知时出现空白消息
我使用Asp.NETMVC4WebAPI作为第三方服务器,使用GCM为Android设备推送通知。它工作正常,正在生成通知,但消息为空。我花了一整天的时间在这上面,但找不到任何解决办法。请帮助我 发送推送通知的Web API函数如下:Asp.net mvc 4 使用GCM和Asp.net MVC Web API向Android设备发送推送通知时出现空白消息,asp.net-mvc-4,asp.net-web-api,google-cloud-messaging,Asp.net Mvc 4,Asp.net Web Api,Google Cloud Messaging,我使用Asp.NETMVC4WebAPI作为第三方服务器,使用GCM为Android设备推送通知。它工作正常,正在生成通知,但消息为空。我花了一整天的时间在这上面,但找不到任何解决办法。请帮助我 发送推送通知的Web API函数如下: public Notification PushToAndroidDevice(string registrationid,string message) { Notification notif
public Notification PushToAndroidDevice(string registrationid,string message)
{
Notification notification = new Notification();
try
{
var applicationID = "MY_APPLICATION_ID";
var SENDER_ID = "MY_SENDER_ID";
WebRequest tRequest;
tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
tRequest.Method = "post";
tRequest.ContentType = "application/x-www-form-urlencoded";
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=" + message + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + registrationid + "";
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();
notification.Message = sResponseFromServer;
tReader.Close();
dataStream.Close();
tResponse.Close();
notification.Status = true;
}
catch (Exception ex)
{
notification.Status = false;
notification.Message = "ERROR DESCRIPTION : " + ex.Message;
}
return notification;
}
通知是一个类,它有两个属性Status bool和Message string
public class Notification
{
public bool Status { get; set; }
public string Message { get; set; }
}
通过此代码,我可以在android mobile上发送通知消息,但通知为空,请帮助我……。您应该检查从GCM服务器接收消息的MSGReceiver和MSGSerice(或相应)类。
您检查print并查看是否接收空值。这里使用的变量名可能与您从MVC发送的变量名不同。这是一个非常简短的回答。如果您在理解方面有进一步的问题或困难,请提供相关代码和文件名。明白。。。。。。我的android代码有一个问题……你能帮我解决一下吗,我的android应用程序中也有类似的功能。如果您还可以嵌入您的android代码,这将非常有用。使用GCM使用AndroidHive推送通知