如何在ASP.Net C#中实现FCM?

如何在ASP.Net C#中实现FCM?

问题描述:

我正在使用GCM在Android上使用c#进行通知,但现在我想将GCM更改为FCM。如何在ASP.Net C#中实现FCM?

我需要为此做些什么改变?或者我该如何在C#中实现FCM?任何帮助表示赞赏。我目前正在使用此代码进行FCM,我只是更改了URL,但它不起作用。

  try { 
      msg = message; 

      var applicationID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
      var SENDER_ID = "xxxxxxxxxxx"; 

      WebRequest tRequest; 
      //tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send"); 
      tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 
      tRequest.Method = "post"; 

      tRequest.ContentType = "application/x-www-form-urlencoded"; 
      tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); 

      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=" + message + "&data.time=" + System.DateTime.Now.ToString() +        "&registration_id=" + notificationtoken + ""; 

      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(); 

      notification = sResponseFromServer; 
      tReader.Close(); 
      dataStream.Close(); 
      tResponse.Close(); 
     return sResponseFromServer; 
        } 
     catch (Exception ex) 
     { 
      notification.Status = false; 
      notification = "ERROR DESCRIPTION : " + ex.Message; 
     } 

试试这个希望这有助于你..........

try 
     { 
      var applicationID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
      var senderId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
      string deviceId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
      WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 
      tRequest.Method = "post"; 
      tRequest.ContentType = "application/json"; 
      var data = new 
      { 
       to = deviceId, 
       notification = new 
       { 
        body = "This is the message Body", 
        title = "This is the title of Message", 
        icon = "myicon" 
       }, 
       priority = "high" 

      }; 

      var serializer = new JavaScriptSerializer(); 
      var json = serializer.Serialize(data); 
      Byte[] byteArray = Encoding.UTF8.GetBytes(json); 
      tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); 
      tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); 
      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(); 
          Response.Write(sResponseFromServer); 
          Label3.Text = sResponseFromServer; 
         } 
        } 
       } 
      } 
     } 

     catch (Exception ex) 
     { 
      Response.Write(ex.Message); 
     } 


    }