【问题标题】:Whats mean Response from GCM and Why is notification not working?GCM 的响应是什么意思,为什么通知不起作用?
【发布时间】:2016-01-18 14:27:40
【问题描述】:

我有一些用于将通知 c# 推送到 GCM 的代码。当我运行代码 c# 时,GCM 会回复我这样的 id:id=0:145310308361%a68blablad6cf16。但是 statuscode :OK 。这个 id 和另一个问题是什么意思: pushnotification 函数中的这个响应但是当我运行这个函数时我的设备没有收到通知?

C# 代码如下:

 public string SendAndroidPushNotification(string RegistrationID, string message)
{

    string GoogleAppID = "ServerId";
    var SENDER_ID = "ProjectId";
    var value = message;
    WebRequest tRequest;
    tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send");
    tRequest.Method = "post";
    tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
    tRequest.Headers.Add(string.Format("Authorization: key={0}", GoogleAppID));

    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=" + value.ToString() + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + RegistrationID + "";
    //Console.WriteLine(postData);
    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();

    HttpWebResponse httpResponse = (HttpWebResponse)tResponse;
    string statusCode = httpResponse.StatusCode.ToString();

    tReader.Close();
    dataStream.Close();
    tResponse.Close();
    return sResponseFromServer;
}

protected void Button1_Click(object sender, EventArgs e)
{
    string device_Id = "myRegisteredId";
    string msj = "";
    msj = TextBox1.Text.ToString();
    string strResponse = SendAndroidPushNotification(device_Id, msj);
}

【问题讨论】:

    标签: c# android google-cloud-messaging


    【解决方案1】:

    您可以在Google Play Developer Console 上查看应用程序的 GCM 诊断工具。 并且您可以使用此 ID 检查消息的活动。

    GCM Reference 对您的问题更有帮助; 发送消息参数和响应消息细节和代码描述写的很详细。

    也许您想看看this Q&A 是否成功

    【讨论】:

    • 谢谢,我解决了,id=0:145310308361%a68blablad6cf16 表示成功响应。
    • 不客气。您可以接受问题的真实答案。 ?
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    相关资源
    最近更新 更多