首页 > 代码库 > .net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新
.net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新
最近刚从极光推送官网上看到V2版本要停用,不得不有重新写V3版本的。这里用到了 HTTP Basic Authentication
http://www.cnblogs.com/pingming/p/4165057.html
1、首先需要将你的app在极光官网上进行注册,获取一个ApiKey,一个APIMasterSecret(密码),将这两个值保存在配置文件(app/web.config)中,具体手机开发端需要做什么操作我们.net平台不管
<appSettings> <add key="ApiKey" value="**********"/> <add key="APIMasterSecret" value="*******"/> </appSettings>
2、读取配置中的值
private readonly string ApiKey = "";private readonly string APIMasterSecret = "";ApiKey = ConfigurationManager.AppSettings["ApiKey"].ToString();//Android ApiKeyAPIMasterSecret = ConfigurationManager.AppSettings["APIMasterSecret"].ToString();//Android密码
3、开始推送方法
/// <summary> /// 极光推送V3版本 /// </summary> /// <param name="content"></param> public string PushV3(string content) { string app_key = ApiKey; string masterSecret = APIMasterSecret; string u_ = app_key + ":" + masterSecret;//对应推送 -u string base64_ = EncodeBase64(u_);//编码 u_ string postData = http://www.mamicode.com/""; postData += "{"; postData += "\"platform\": \"all\","; postData += "\"audience\" : \"all\""; postData += ","; postData += "\"notification\" : {"; postData += "\"android\" : {"; postData += "\"alert\" : \"" + content + "\","; postData += "\"title\":\"Send to Android\","; postData += "\"builder_id\":1,"; postData += "\"extras\" : { \"newsid\" : 321}"; postData += "}, "; postData += "\"ios\" : {"; postData += "\"alert\" : \"" + content + "\","; postData += "\"sound\":\"default\","; postData += "\"badge\":\"+1\","; postData += "\"extras\" : { \"newsid\" : 321}"; postData += "}"; postData += "},"; postData += "\"options\" : {"; postData += "\"time_to_live\" : 60,\"apns_production\":false"; postData += "}"; postData += "}"; byte[] data =http://www.mamicode.com/ Encoding.UTF8.GetBytes(postData); //使用 HTTP Basic Authentication 的方式做访问授权//http Post方式调用极光的推送服务
Uri url = new Uri("https://api.jpush.cn/v3/push"); CredentialCache mycache = new CredentialCache(); mycache.Add(url, "Basic", new NetworkCredential(app_key, masterSecret)); HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);// myRequest.Method = "POST";//极光http请求方式为post myRequest.ContentType = "application/json";////按照极光的要求 myRequest.ContentLength = data.Length; myRequest.Credentials = mycache; myRequest.KeepAlive = true; myRequest.Headers.Add("Authorization", "Basic "+base64_);//http头添加 Stream newStream = myRequest.GetRequestStream(); // Send the data. newStream.Write(data, 0, data.Length); newStream.Close(); // Get response var response = (HttpWebResponse)myRequest.GetResponse(); string staCode= response.StatusCode.ToString();//返回状态码:200 OK using (var reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"))) { string result = reader.ReadToEnd(); reader.Close(); response.Close(); return staCode; } }
.net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V3版本)最新
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。