使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)
Posted
技术标签:
【中文标题】使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)【英文标题】:sending GCM push notification with image using c# .net (for android application) 【发布时间】:2017-10-26 09:28:57 【问题描述】:我正在使用此 c# 代码使用 GCM 站点发送推送通知 但我也想发送带有通知标题和消息的图像。 请告诉我如何做到这一点。 我正在尝试添加“data.image”参数以添加带有通知的图像,但在获取通知图像时未添加。
我还传递了带有图像 url 的“data.image”,可以全局访问,但什么也没发生。
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() + "®istration_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 + "®istration_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();
【问题讨论】:
【参考方案1】:在GCM中不能直接发送图片,需要在data中添加图片的url,在接收端处理以显示结果
GCM 大小有限,可作为 JSON 工作
【讨论】:
我已经传递了带有图像 url 的 data.image 参数,但是当我收到通知时没有任何反应。 在客户端,你需要处理消息数据并加载图像。 什么是客户端?安卓? ios?还是网络? 客户端是 android ... 使用此代码我想向 android 手机发送推送通知,并使用 phonegap 在通知中显示图像 那么建议您使用 firebase FCM,因为 GCM 已过时。其次,在收到消息时,在 Android 端获取数据并在 Url 中加载图像,然后相应地生成通知。如果您使用默认值,则需要覆盖并创建它以上是关于使用 c# .net 发送带有图像的 GCM 推送通知(适用于 android 应用程序)的主要内容,如果未能解决你的问题,请参考以下文章