public class JPush
{
public static string Push(string alias, string sendername, string title, string taskid)
{
string sendno = "1";
string receiverType = "3";
string receiverValue = alias;
String masterSecret = "XXXXXXXXXXXXXXXX";
String copy = sendno + receiverType + receiverValue + masterSecret;
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
String verificationCode = BitConverter.ToString((md5.ComputeHash(Encoding.UTF8.GetBytes(copy)))).Replace("-","").ToLower();
JPushMessageContent message = new JPushMessageContent
{
n_title = sendername,
n_content = title,
n_extras = new JPushMessageExtras
{
task_id = taskid
},
};
NameValueCollection parameters = new NameValueCollection();
parameters.Add("sendno", sendno);
parameters.Add("app_key", "XXXXXXXXXXXX");
parameters.Add("receiver_type", receiverType);//2、指定的 tag。3、指定的 alias。4、广播:对 app_key 下的所有用户推送消息。
parameters.Add("receiver_value", receiverValue);
parameters.Add("verification_code", verificationCode); //MD5
parameters.Add("msg_type", "1"); //1、通知2、自定义消息(只有 Android 支持)
parameters.Add("msg_content", Newtonsoft.Json.JsonConvert.SerializeObject(message)); //内容
parameters.Add("platform", "android,ios");
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
byte[] rData = webClient.UploadValues("http://api.jpush.cn:8800/sendmsg/v2/sendmsg", parameters);
string rString = Encoding.UTF8.GetString(rData);
return rString;
}
}
public class JPushMessageContent
{
//n_builder_id 可选 1-1000的数值,不填则默认为 0,使用 极光Push SDK 的默认通知样式。只有 Android 支持这个参数。进一步了解请参考文档 通知栏样式定制API
public string n_title {get;set;}// 可选 通知标题。不填则默认使用该应用的名称。只有 Android支持这个参考。
public string n_content{get;set;} //必须 通知内容。
public JPushMessageExtras n_extras{get;set;} //可选 通知附加参数。JSON格式。客户端可取得全部内容。
}
public class JPushMessageExtras
{
public string task_id { get; set; }
}
{
public static string Push(string alias, string sendername, string title, string taskid)
{
string sendno = "1";
string receiverType = "3";
string receiverValue = alias;
String masterSecret = "XXXXXXXXXXXXXXXX";
String copy = sendno + receiverType + receiverValue + masterSecret;
System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
String verificationCode = BitConverter.ToString((md5.ComputeHash(Encoding.UTF8.GetBytes(copy)))).Replace("-","").ToLower();
JPushMessageContent message = new JPushMessageContent
{
n_title = sendername,
n_content = title,
n_extras = new JPushMessageExtras
{
task_id = taskid
},
};
NameValueCollection parameters = new NameValueCollection();
parameters.Add("sendno", sendno);
parameters.Add("app_key", "XXXXXXXXXXXX");
parameters.Add("receiver_type", receiverType);//2、指定的 tag。3、指定的 alias。4、广播:对 app_key 下的所有用户推送消息。
parameters.Add("receiver_value", receiverValue);
parameters.Add("verification_code", verificationCode); //MD5
parameters.Add("msg_type", "1"); //1、通知2、自定义消息(只有 Android 支持)
parameters.Add("msg_content", Newtonsoft.Json.JsonConvert.SerializeObject(message)); //内容
parameters.Add("platform", "android,ios");
WebClient webClient = new WebClient();
webClient.Encoding = Encoding.UTF8;
byte[] rData = webClient.UploadValues("http://api.jpush.cn:8800/sendmsg/v2/sendmsg", parameters);
string rString = Encoding.UTF8.GetString(rData);
return rString;
}
}
public class JPushMessageContent
{
//n_builder_id 可选 1-1000的数值,不填则默认为 0,使用 极光Push SDK 的默认通知样式。只有 Android 支持这个参数。进一步了解请参考文档 通知栏样式定制API
public string n_title {get;set;}// 可选 通知标题。不填则默认使用该应用的名称。只有 Android支持这个参考。
public string n_content{get;set;} //必须 通知内容。
public JPushMessageExtras n_extras{get;set;} //可选 通知附加参数。JSON格式。客户端可取得全部内容。
}
public class JPushMessageExtras
{
public string task_id { get; set; }
}