2012-11-28 3 views
1

나는 안드로이드 모바일을위한 푸시 알림 생성 작업 중입니다. 내 코드는 이와 비슷하지만 예외를 던지고 있습니까? 나에게 매우 중요합니다. 사전에 감사드립니다. 여기C#을 사용하는 Android에 대한 푸시 알림?

public string SendNotificationAndoride(string deviceId, string message) 
     { 
      string GoogleAppID = "google application id";   
      var SENDER_ID = "9999999999"; 
      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() + "®istration_id=" + deviceId + ""; 
      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(); 

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

예외를 (그것은 작동)? – Thomas

+0

예외 스택 추적을 공유합니다 ... –

+0

Google API에 앱을 등록하셨습니까? Google에서 앱에 대한 SENDER_ID을 받았습니까? GCM이 올바르게 기억한다면 JSON을 사용합니다. –

답변

0

당신이 파이썬에서 서버 측에 내 코드가

def sendAndroidPushNotification(registration_id, collapse_key, data) : 
    try: 
     auth = "AIzsS3DPP3GYG38uw12qYQpJwGZ9AtliAsrJnhY" 
     push_request = urllib2.Request("https://android.googleapis.com/gcm/send") 

     jsondata = None 
     if collapse_key : 
      jsondata = simplejson.dumps({'registration_ids': [registration_id,], 
             'collapse_key' : collapse_key, 
             'data'   : data, 
             }) 
     else : 
      jsondata = simplejson.dumps({'registration_ids': [registration_id,], 
             'data'   : data, 
             }) 

     push_request.add_data(jsondata) 

     push_request.add_header('Authorization', 'key=' + auth) 
     push_request.add_header('Content-Type', 'application/json') 
     push_request.add_header('Content-Length', len(jsondata)) 

     result = urllib2.build_opener().open(push_request) 
     parsed = simplejson.load(result) 
#  print('Success {0}, Failures {1}, Canonical IDs: {2}'.format(parsed['success'], 
#                  parsed['failure'], 
#                  parsed['canonical_ids'])) 
#  print 'result: ' + str(parsed['results'][0])