使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】,C#语言在VisualStudio2010中新建网站JPushAndroid。添加引用json帮助类库Newtonsoft.Json.dll。在web.config增加appkey和mastersecret,可以在极光官网www.jpush.cn申请。web.config源码:
添加类JPushV3,会弹出保存类在App_code文件夹下,确定。JpushV3代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Net;usingSystem.Text;usingSystem.IO;usingSystem.Configuration;usingSystem.Collections;/**参考文档:http://docs.jpush.cn/display/dev/Index选择里面的:服务器端API,Push-API-V3**极光推送的网站的网址是:https://www.jpush.cn/*旧版本V2http://docs.jpush.cn/display/dev/Push+API+v2*最新版本V3http://docs.jpush.cn/display/dev/Push-API-v3**其中服务端的接口以及示例代码都在这里:http://docs.jpush.cn/display/dev/Server-SDKs*////
///极光推送的最新版:PUSH-API-V3///参考地址http://docs.jpush.cn/display/dev/Push-API-v3///POSThttps://api.jpush.cn/v3/push///publicclassJPushV3{///
///应用标识:极光推送的用户名///privatereadonlystringAppKey=ConfigurationManager.AppSettings["AppKey"];///
///极光推送的密码///privatereadonlystringMasterSecret=ConfigurationManager.AppSettings["MasterSecret"];///
///极光推送请求的url地址///privatereadonlystringRequestUrl="https://api.jpush.cn/v3/push";///
///查询推送结果请求的Url地址///privatereadonlystringReceivedUrl="https://report.jpush.cn/v3/received";///
///发送推送请求到JPush,使用HttpWebRequest//////
传入POST或GET///固定地址///用户名AppKey和密码MasterSecret形成的Base64字符串///请求的json参数,一般由Platform(平台)、Audience(设备对象标识)、Notification(通知)、Message(自定义消息)、Options(推送可选项)组成///publicstringSendRequest(Stringmethod,Stringurl,Stringauth,StringreqParams){stringresultJson="";HttpWebRequestmyReq=null;HttpWebResponseresponse=null;try{myReq=(HttpWebRequest)WebRequest.Create(url);myReq.Method=method;myReq.ContentType="application/json";if(!String.IsNullOrEmpty(auth)){myReq.Headers.Add("Authorization","Basic"+auth);}if(method=="POST"){byte[]bs=UTF8Encoding.UTF8.GetBytes(reqParams);myReq.ContentLength=bs.Length;using(StreamreqStream=myReq.GetRequestStream()){reqStream.Write(bs,0,bs.Length);reqStream.Close();}}response=(HttpWebResponse)myReq.GetResponse();HttpStatusCodestatusCode=response.StatusCode;if(Equals(response.StatusCode,HttpStatusCode.OK)){using(StreamReaderreader=newStreamReader(response.GetResponseStream(),System.Text.Encoding.UTF8)){resultJson=reader.ReadToEnd();try{objectjson=Newtonsoft.Json.JsonConvert.DeserializeObject(resultJson);}catch{resultJson=string.Format("{{\"error\":{{\"message\":\"{0}\",\"code\":10086}}}}","响应的结果不是正确的json格式");}}}}catch(WebExceptionex){if(ex.Status==WebExceptionStatus.ProtocolError){HttpStatusCodeerrorCode=((HttpWeb...