带有 C# asp.net 的 GCM 推送通知在 android 设备中提供 null 作为通知
Posted
技术标签:
【中文标题】带有 C# asp.net 的 GCM 推送通知在 android 设备中提供 null 作为通知【英文标题】:GCM push notification with C# asp.net giving null as notification in android devices 【发布时间】:2013-01-16 09:52:41 【问题描述】:我在 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 的响应。请让我知道这些建议。
【问题讨论】:
您的 Android 应用中的代码是什么样的?消息的哪一部分是空的? @selsine 感谢您的评论。我解决了。在 android 应用程序代码中,它使用一个密钥来检索我发现不匹配的数据。当我将其更改为 android 应用程序中给出的实际密钥时,我得到了真正的消息。 嗨 Vinod T G,我收到的消息为空。我必须改变什么?请帮忙。如果您分享android应用程序,它对我有很大帮助。 检查此链接 [在此处输入链接描述][1] 快乐 Coading:) [1]: ***.com/questions/14355528/… 【参考方案1】:您需要替换下面的 json 字符串并修改您的 Android 代码以获得获取消息和名称。
字符串 json = "\"registration_ids\":[\"" + regId + "\"]," + "\"data\": \"message\" : \"1234\", \" name\": \"Arvind Sharma\"";
【讨论】:
我们可以在 json 字符串中使用我们想要的任何数据,只要我们在服务器端和 android 端都使用相同的密钥。【参考方案2】:在 Android OnMessage(在 GCMIntent 服务中)写下一行
String message = intent.getStringExtra("score");
快乐编码:)
【讨论】:
以上是关于带有 C# asp.net 的 GCM 推送通知在 android 设备中提供 null 作为通知的主要内容,如果未能解决你的问题,请参考以下文章
使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)
在 ASP.NET 中为 manifest.json GCM 推送通知获取未经授权的 401