2017-10-26 1 views
1

Ich verwende diesen C# -Code, um Push-Benachrichtigung mit GCM-Site senden, aber ich möchte auch Bild mit Benachrichtigung Titel und Nachricht senden. Bitte sagen Sie mir, wie dies erreicht werden kann. ich versuche, "data.image" -Parameter hinzuzufügen, um Bild mit Benachrichtigung hinzuzufügen, aber auf Benachrichtigung erhalten Bild wird nicht hinzugefügt.Senden von GCM Push-Benachrichtigung mit Bild mit C# .net (für Android-Anwendung)

Ich habe auch "data.image" mit Bild URL übergeben, die global zugegriffen werden kann, aber nichts passiert.

var applicationID = "some_id"; 
      // SENDER_ID is nothing but your ProjectID (from API Console- google code)//           
      var SENDER_ID = "My-Id"; 
      var value = message; 
      var title = titl; 
      //var image = "https://dl.dropboxusercontent.com/u/887989/antshot.png"; 


      //var imgstat = "http://justcash.co.in/img/logo0011.png"; 
      WebResponse tResponse; 
      WebRequest 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}", applicationID)); 

      tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 
      string postData = "collapse_key=score_update&time_to_live=1000&delay_while_idle=1&data.title=" + title + "&data.message=" 
       + value + "&data.time=" + System.DateTime.Now.ToString() + "&registration_id=" + regId + "&data.image=" + "some-image-source"; 

      //string postData = "collapse_key=score_update&time_to_live=1000&delay_while_idle=1&data.title=" + title + "&data.message=" 
      // + value + "&data.time=" + System.DateTime.Now.ToString() + "&data.image=" + image + "&registration_id=" + regId + ""; 


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

      dataStream = tRequest.GetRequestStream(); 
      dataStream.Write(byteArray, 0, byteArray.Length); 
      dataStream.Close(); 

      tResponse = tRequest.GetResponse(); 
      dataStream = tResponse.GetResponseStream(); 

      tReader = new StreamReader(dataStream); 

      sResponseFromServer = tReader.ReadToEnd(); 
      tReader.Close(); 
      dataStream.Close(); 
      tResponse.Close(); 

Antwort

1

Sie können nicht direkt ein Bild in GCM senden, müssen Sie URL des Bildes in Daten hinzuzufügen, die auf der Empfängerseite behandelt Ergebnis zeigen

GCM sind in der Größe begrenzt und arbeitet als JSON

+0

Ich habe data.image Parameter mit Bild URL darauf übergeben, aber nichts passiert, wenn ich benachrichtigt werde. –

+0

auf Client-Seite, müssen Sie die Nachricht Daten behandeln und laden Sie das Bild. –

+0

Was ist die Client-Seite? Android? IOS? oder Web? –