2013-07-16 2 views
1

Я использую серверный сервер уведомлений GCM для Android с помощью C#: Проблема в том, что уведомление не получено на устройство, и я не знаю, где проблема, это сервер или приложение? Вот ответ на стороне сервера «id = 0: 1373508394613753% f73a6d8d66d6cf16», я не знаю, соответствует ли этот ответ? Так кто-нибудь может сказать мне, что этот ответ означает, что уведомление отправлено, но есть проблема в устройстве или наоборот?GCM push-серверный ответ сервера для Android с использованием C#?

Вот на стороне сервера Код:

public string SendAndroidPushNotification(string RegistrationID, string message) 
     { 

      string GoogleAppID = "AIzaSyAq8TKNRJpp18B9Xvc6PcM4ji8igU";   
      var SENDER_ID = "5525610314545"; 
      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 + "&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; 
     } 

Вот ссылка на Andriod Application Код:

Push Notification receiver is not working

ответ

0

Я получил ту же ошибку, и установил ее со следующими шагами:

  1. JSON: I chan ged my server code (отправить push до gcm) в формат json. После этого мы добились успеха. См.: stackoverflow sample

  2. УСТРОЙСТВО: Проверьте методы в коде клиента. В нашем случае сообщение было получено устройством, но не отображено (мы использовали код примера Google - и он не работал).

имеют Также выглядеть этот один: an other stackoverflow article

Смело ... Отвечает

0

Вам нужно включить RegistrationID в вашем нажимной уведомления на стороне сервера.

Смежные вопросы