1,首先需要將你的app在極光官網(wǎng)上進行注冊,獲取一個ApiKey,一個APIMasterSecret(密碼),將這兩個值保存在配置文件(app/web.config)中,具體手機開發(fā)端需要做什么操作我們.net平臺不管
網(wǎng)站設計、成都網(wǎng)站建設介紹好的網(wǎng)站是理念、設計和技術的結合。成都創(chuàng)新互聯(lián)公司擁有的網(wǎng)站設計理念、多方位的設計風格、經(jīng)驗豐富的設計團隊。提供PC端+手機端網(wǎng)站建設,用營銷思維進行網(wǎng)站設計、采用先進技術開源代碼、注重用戶體驗與SEO基礎,將技術與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。<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> /// Android極光推送
/// </summary> /// <param name="RegistrationID">設備號</param> public void PushAndroid(string RegistrationID)
{
try
{
Random ran= new Random();
int sendno = ran.Next(1, 2100000000);//隨機生成的一個編號 string app_key = ApiKey;
string masterSecret = APIMasterSecret;
int receiver_type = 5;//接收者類型。2、指定的 tag。3、指定的 alias。4、廣播:對 app_key 下的所有用戶推送消息。5、根據(jù) RegistrationID 進行推送。當前只是 Android SDK r1.6.0 版本支持 string receiver_value = RegistrationID;
int msg_type = 1;//1、通知2、自定義消息(只有 Android 支持) string msg_content = "{"n_builder_id":"00","n_title":"" + Title + "","n_content":"" + Content + ""}";//消息內(nèi)容 string platform = "android";//目標用戶終端手機的平臺類型,如: android, ios 多個請使用逗號分隔。 string verification_code = GetMD5Str(sendno.ToString(), receiver_type.ToString(), receiver_value,masterSecret);//驗證串,用于校驗發(fā)送的合法性。MD5 string postData = "sendno=" + sendno;
postData+= ("&app_key=" + app_key);
postData+= ("&masterSecret=" + masterSecret);
postData+= ("&receiver_type=" + receiver_type);
postData+= ("&receiver_value=" + receiver_value);
postData+= ("&msg_type=" + msg_type);
postData+= ("&msg_content=" + msg_content);
postData+= ("&platform=" + platform);
postData+= ("&verification_code=" + verification_code);
//byte[] data = encoding.GetBytes(postData); byte[] data = Encoding.UTF8.GetBytes(postData);
string resCode = GetPostRequest(data);//調(diào)用極光的接口獲取返回值
JpushMsg msg = Newtonsoft.Json.JsonConvert.DeserializeObject<JpushMsg>(resCode);//定義一個JpushMsg類,包含返回值信息,將返回的json格式字符串轉(zhuǎn)成JpushMsg對象
}
catch (Exception ex)
{
}
}
4,MD5加密驗證字符串,用于調(diào)用接口的時候,極光將做驗證使用
/// <summary> /// MD5字符串
/// </summary> /// <param name="paras">參數(shù)數(shù)組</param> /// <returns>MD5字符串</returns> public string GetMD5Str(params string [] paras)
{
string str = "";
for(int i=0;i<paras.Length;i++)
{
str+= paras[i];
}
byte[] buffer = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(str));
string md5Str = string.Empty;
for (int i = 0; i < buffer.Length; i++)
{
md5Str= md5Str + buffer[i].ToString("X2");
}
return md5Str;
}
5,http Post方式調(diào)用極光的推送服務
/// <summary> /// Post方式請求獲取返回值
/// </summary> /// <param name="data"></param> /// <returns></returns> public string GetPostRequest(byte[] data)
{
HttpWebRequest myRequest= (HttpWebRequest)WebRequest.Create("http://api.jpush.cn:8800/v2/push");
myRequest.Method= "POST";//極光http請求方式為post
myRequest.ContentType= "application/x-www-form-urlencoded";//按照極光的要求
myRequest.ContentLength= data.Length;
Stream newStream= myRequest.GetRequestStream();
// Send the data. newStream.Write(data, 0, data.Length);
newStream.Close();
// Get response var response = (HttpWebResponse)myRequest.GetResponse();
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
{
string result = reader.ReadToEnd();
reader.Close();
response.Close();
return result;
}
}
6,定義一個類,接收返回值
public class JpushMsg
{
private string sendno;//編號 public string Sendno
{
get { return sendno; }
set { sendno = value; }
}
private string msg_id;//信息編號 public string Msg_id
{
get { return msg_id; }
set { msg_id = value; }
}
private string errcode;//返回碼 public string Errcode
{
get { return errcode; }
set { errcode = value; }
}
private string errmsg;//錯誤信息 public string Errmsg
{
get { return errmsg; }
set { errmsg = value; }
}
}
好了,OK了,有什么不對的地方希望大家指出,謝謝!
本文題目:.net平臺借助第三方推送服務在推送Android消息(極光推送)-創(chuàng)新互聯(lián)
路徑分享:http://aaarwkj.com/article30/gccso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、動態(tài)網(wǎng)站、網(wǎng)站設計、響應式網(wǎng)站、軟件開發(fā)、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)