使用 C# .NET 发送带有图像的 GCM 推送通知(适用于 android 应用程序)



我正在使用此 C# 代码通过 GCM 站点发送推送通知 但我也想发送带有通知标题和消息的图像。 请告诉我如何实现这一点。 我正在尝试添加"data.image"参数以添加带有通知的图像,但在获取通知图像时未添加。

我还传递了带有图像URL的"data.image",该URL可以全局访问,但没有任何反应。

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

不能直接在 GCM 中发送图像,需要在数据中添加图像的 url,在接收端处理以显示结果

GCM 的大小有限,可以作为 JSON 工作

最新更新