2016-12-02 201 views
0

我想通过FCM向C#发送推送通知给Android。使用FCM向Android推送通知(c#)

我已经使用了下面的代码,它给了我在响应中的id,似乎一切都好。

但我没有收到任何通知在我的设备中,因为设备ID是正确的,并收到通知,如果我通过FCM控制台发送它。

任何建议都会有所帮助。

感谢

var value = "This is first message to Android"; 
      WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 
      tRequest.Method = "post"; 
      tRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; 
      tRequest.Headers.Add(string.Format("Authorization: key={0}", "AAAAosN-NoU:APA91bHg6Iv8qj2giVvSRVVFze4L6Si0VTwctkNaRRqlI7qffKAMPHo4fd52SgZcB8Ring-mnPrkqjodTGrSru_bXKRQD9n4eVxhs8pTbkXac1gotCM77EixMUXTplXhceIm1o20BVXvkHO1HQZBti990ijebUW1fg")); 
      tRequest.Headers.Add(string.Format("Sender: id={0}", "699064530565")); 

      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=" + "APA91bFD6jRdsSzQ37_rB2x4C8wJzcDzgdjZuhf4hFgzCndeESCEnHrW3sRQcwetljExhlEUrpquhdTW2C24qjtb-PJuUUhpnev3Zn_DDH6aF7PStFRPYvWSQcfLFd14sueLmbhCvcqr" + ""; 

      Byte[] byteArray = Encoding.UTF8.GetBytes(postData); 
      tRequest.ContentLength = byteArray.Length; 

      using (Stream dataStream = tRequest.GetRequestStream()) 
      { 
       dataStream.Write(byteArray, 0, byteArray.Length); 

       using (WebResponse tResponse = tRequest.GetResponse()) 
       { 
        using (Stream dataStreamResponse = tResponse.GetResponseStream()) 
        { 
         using (StreamReader tReader = new StreamReader(dataStreamResponse)) 
         { 
          string sResponseFromServer = tReader.ReadToEnd(); 
         } 
        } 
       } 
      } 
+0

没有人知道....离开它我会解决我自己 – user2412197

+0

请调查您的PostData并在调试后分享确切的错误。 –

回答

0

请看着你POSTDATA。这里举例说明你的数据应该如何格式化。

var PostData= new 

      { 
       data = {your custom data you want to send}, 
       to = deviceId, 

       notification = new 

       { 

        body = "Got notify", 

        title = Alert, 

       }, 
       priority ="normal" 
      }; 

      var serializer = new JavaScriptSerializer(); 

      var json = serializer.Serialize(PostData); 

      Byte[] byteArray = Encoding.UTF8.GetBytes(json); 

而且你可以通过调试你的代码来分享确切的错误。希望以上代码可以解决您的问题。