2017-12-10 1 views
0

Ich versuche FCM für Push-Benachrichtigungen auf Android-Gerät von C# -Server zu verwenden. Ich verwende unten genannten Code zum Senden von Benachrichtigungen und es funktionierte einwandfrei, aber ich muss auch Daten Nutzdaten senden, aber ich weiß nicht, wie zu implementieren Das.Sende FCM Datennutzungsbenachrichtigung an Android von C# Server?

public static void SendPushNotification(String user_id,string not_title) 
     { 
      try 
      { 
       string applicationID = "AAAAjpeM......."; 
       string senderId = "......."; 
       string deviceId = user_id; 
       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 = not_title, 
         title = "ABC", 
         sound = "Enabled" 
        } 
       }; 

       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(); 
           string str = sResponseFromServer; 
          } 
         } 
        } 
       } 
      } 
      catch (Exception ex) 
      { 
       string str = ex.Message; 
      } 
     } 

Ich habe das versucht, aber es hat nicht funktioniert.

var data = new 
       { 
        to = deviceId, 
        data = new 
        { 
         body = not_title, 
         title = "Avicenna", 
         payload="1", 
         sound = "Enabled" 
        } 
       }; 
+0

Sind Sie zu berücksichtigen, dass reine Benachrichtigungsmeldungen und Daten-Payload-Meldungen unterschiedlich gehandhabt werden, wenn sie von dem Android-Gerät empfangen. Beachten Sie auch, dass Android und iOS die Push-Benachrichtigung anders handhaben. Bitte überprüfen Sie die FCM-Dokumentation. – Barns

Antwort

1

versuchen Sie dies:

var data = new 
       { 
        to = deviceId, 
        notification = new 
        { 
         body = not_title, 
         title = "ABC", 
         sound = "Enabled" 
        }, 
        data = new 
        {       
         payload="1" 
        } 
      }; 
Verwandte Themen