private static string AndroidPushAll(string ticker, string title, string text, Dictionary <string, string> extra) { var p = new Payload("notification", ticker, title, text, extra); var type = DeviceType.Andriod; var url = "http://msg.umeng.com/api/send"; var android = new Android() { type = "broadcast", device_tokens = "", payload = p, description = "android推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <Android> .RemoveStrNull(android); var sign = YouMengHelper.GetSign(type, url, android); var postbody = JsonHelper <IPush> .GetJson(android); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; var data = WebHelper.DoPost(fullurl, postbody); return(data); }
/// <summary> /// 苹果推送 /// </summary> /// <param name="title"></param> /// <param name="text"></param> /// <param name="ticker"></param> /// <param name="category"></param> /// <param name="extra"></param> /// <returns></returns> private static string ApplePushAll(string title, string text, string ticker, string category, Dictionary <string, string> extra) { var url = "http://msg.umeng.com/api/send"; var p = new IOSPayLoad(title, text, ticker, category, extra); var ios = new IOS("broadcast") { payload = p, description = "苹果推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <IOS> .RemoveStrNull(ios); var sign = YouMengHelper.GetSign(DeviceType.IOS_APPStore, url, ios); var postbody = JsonHelper <IPush> .GetJson(ios); var dt = new Dictionary <string, string>(); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; dt.Add("sign", sign); try { var data = WebHelper.DoPost(fullurl, postbody); return(data); } catch (Exception ex) { var msg = ex.Message; return(string.Empty); } }
/// <summary> /// 报警方法 /// </summary> /// <param name="socket"></param> /// <param name="info"></param> /// <param name="bys"></param> private void BaoJinMethod(Socket socket, MacIPVersionInfo info, byte[] ds) { if (ds.Length == 11) { var id = ds.ToList().GetRange(4, 6).ToArray(); var hexIds = StrHelper.byteToHexStr(id); var id10 = Convert.ToInt32(hexIds, 16); var sta = DALDefenseStatus.DefenseStatusGetByDeviceId(id10); if ((sta == null) || (sta != null && sta.status == 1)) { ///警报事件 if (ds[3] == 4) { if (id10 > 0) { var device = DALYZKDeviceInfo_UserInfocs.YZKDeviceInfo_UserInfo_GetDataByRecordid(id10 + ""); if (device != null) { var device_mac = device.device_mac; DALNotifyException.NotifyExceptionAddX(new NotifyException() { bxkLabel = device.bxk_label, deviceId = device.deviceinfo_userinfo_id + "", deviceSetName = device.device_setname, recordTime = DateTime.Now, uid = device.uid, alarm_type = 0 }); var tokens = DALYZKPushToken.YZKPushToken_GetByUid(device.uid).FindAll(a => a.devicetype != 3); foreach (var token in tokens) { if (token != null) { if (token.devicetype == 0) { var devicetoken = token.devicetoken; if (!string.IsNullOrEmpty(devicetoken)) { var alert = ""; var category = ""; var ticker = ""; var title = "设备报警通知"; var text = string.Format("报警通知,您房间{0}的{1}设备发生报警,请留意", device.bxk_label, device.device_setname); var dt = new Dictionary <string, string> { { "type", "8" }, { "uid", device.uid } }; var pushData = YouMengHelper.makePush(alert, category, DeviceType.Android_Center, devicetoken, ticker, title, text, dt); } //DALNotifyException.NotifyExceptionGet(d.deviceinfo_userinfo_id + "", (int)AlarmType.DEFAULT); } else { var devicetoken = token.devicetoken; if (!string.IsNullOrEmpty(devicetoken)) { var alert = ""; var category = ""; var ticker = ""; var title = "设备报警通知"; var text = string.Format("报警通知,您房间{0}的{1}设备发生报警,请留意", device.bxk_label, device.device_setname); var dt = new Dictionary <string, string>(); dt.Add("type", "8"); dt.Add("uid", device.uid); var pushData = YouMengHelper.makePush(alert, category, DeviceType.YZK_IOS_APPStore, devicetoken, ticker, title, text, dt); } } } } } } } ///表明是需要短信通知的报警事件 else if (ds[3] == 5) { #region 短信通知报警设置 ///4-9 ///id if (id10 > 0) { var device = DALYZKDeviceInfo_UserInfocs.YZKDeviceInfo_UserInfo_GetDataByRecordid(id10 + ""); if (device != null) { var room = device.room_id; var home_id = device.home_id; var roomName = string.Empty; var uid = device.uid; if (!string.IsNullOrEmpty(uid)) { var users = DALYZKUser.YZKUser_GetByuuid(uid); if (users != null) { var device_setName = device.device_setname; var bxk_label = device.bxk_label.Replace("-", ""); //bxk_label就是xxx房间, 去掉bxk_label中的“_”, xxx设备是setname字段 //var msg = string.Format("报警通知,您{0}房间的{1}设备发生报警事件,请留意",bxk_label,device_setName); var mobile = users.mobile; var dfname = DALDefenseStatus.DefenseStatus_GetByHomeId(home_id); if (dfname != null && dfname.status == 1) { YZKMsgHelper.NotifyDanger(mobile, bxk_label, device_setName); ///记录异常信息 DALNotifyException.NotifyExceptionAdd(new NotifyException() { bxkLabel = bxk_label, deviceSetName = device_setName, uid = uid, deviceId = device.deviceinfo_userinfo_id + "" }); } } } } } #endregion } } } }
/// <summary> /// 推送 /// </summary> /// <param name="alert"></param> /// <param name="category"></param> /// <param name="type"></param> /// <param name="device_tokens"></param> /// <param name="ticker"></param> /// <param name="title"></param> /// <param name="text"></param> /// <param name="extra"></param> /// <returns></returns> public static string makePush(string alert, string category, DeviceType type, string device_tokens, string ticker, string title, string text, Dictionary <string, string> extra) { var url = "http://msg.umeng.com/api/send"; if (type == DeviceType.IOS) { var p = new IOSPayLoad(title, text, ticker, category); var ios = new IOS() { device_tokens = device_tokens, payload = p, description = "苹果推送", production_mode = "false", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <IOS> .RemoveStrNull(ios); var sign = YouMengHelper.GetSign(DeviceType.IOS, url, ios); var postbody = JsonHelper <IPush> .GetJson(ios); var dt = new Dictionary <string, string>(); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; dt.Add("sign", sign); var data = WebHelper.DoPost(fullurl, postbody); return(data); } else if (type == DeviceType.YZK_IOS_APPStore) { var p = new IOSPayLoad(title, text, ticker, category, extra); var ios = new IOS(type) { device_tokens = device_tokens, payload = p, description = "苹果推送", production_mode = "false", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <IOS> .RemoveStrNull(ios); var sign = YouMengHelper.GetSign(type, url, ios); var postbody = JsonHelper <IPush> .GetJson(ios); var dt = new Dictionary <string, string>(); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; dt.Add("sign", sign); var data = WebHelper.DoPost(fullurl, postbody); return(data); } else if (type == DeviceType.Andriod) { var p = new Payload("notification", ticker, title, text, extra); var android = new Android() { type = "listcast", device_tokens = device_tokens, payload = p, description = "android推送", production_mode = "false", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <Android> .RemoveStrNull(android); var sign = YouMengHelper.GetSign(type, url, android); var postbody = JsonHelper <IPush> .GetJson(android); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; var data = WebHelper.DoPost(fullurl, postbody); return(data); } else if (type == DeviceType.Android_Center) { var p = new Payload("notification", ticker, title, text, extra); var android = new Android(type) { type = "listcast", device_tokens = device_tokens, payload = p, description = "android推送", production_mode = "false", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <Android> .RemoveStrNull(android); var sign = YouMengHelper.GetSign(type, url, android); var postbody = JsonHelper <IPush> .GetJson(android); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; var data = WebHelper.DoPost(fullurl, postbody); return(data); } return(string.Empty); }
/// <summary> /// 推送 /// </summary> /// <param name="alert"></param> /// <param name="category"></param> /// <param name="type"></param> /// <param name="device_tokens"></param> /// <param name="ticker"></param> /// <param name="title"></param> /// <param name="text"></param> /// <param name="extra"></param> /// <returns></returns> /// // (alert, categrory, typex, dtoken.devicetoken, ticker, title, text, extra_typex, mac, localip, action); public static string makePush(string alert, string category, DeviceType type, string device_tokens, string ticker, string title, string text, ExtraType extraType, params string[] extradatas) { var extra = new Dictionary <string, string>(); if (extraType == ExtraType.CommonPush) { extra.Add("type", "0"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } else if (extraType == ExtraType.ASKHelp) { if (extradatas.Length == 3) { //增加conver_img 铭牌照片 component_img 零件照片, 点击消息可选择查看铭牌照片 零件照片 extra.Add("conver_img", extradatas[0]); extra.Add("component_img", extradatas[1]); extra.Add("skuid", extradatas[2]); extra.Add("type", "3"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } else if (extradatas.Length == 7) { //增加conver_img 铭牌照片 component_img 零件照片, 点击消息可选择查看铭牌照片 零件照片 extra.Add("conver_img", extradatas[0]); extra.Add("component_img", extradatas[1]); extra.Add("skuid", extradatas[2]); extra.Add("type", "3"); extra.Add("price", extradatas[3]); extra.Add("brand", extradatas[4]); extra.Add("bigclass", extradatas[5]); extra.Add("name", extradatas[6]); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } } else if (extraType == ExtraType.ADPush) { if (extradatas.Length == 1) { extra.Add("url", extradatas[0]); extra.Add("type", "2"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } } else if (extraType == ExtraType.OrderPush) { if (extradatas.Length == 1) { extra.Add("orderno", extradatas[0]); extra.Add("type", "1"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } } else if (extraType == ExtraType.CenterNotify_3) { ///3个参数 if (extradatas.Length == 3) { extra.Add("sync_notify_type", extradatas[0]); extra.Add("record_id", extradatas[1]); extra.Add("action", extradatas[2]); extra.Add("type", "1"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } } else if (extraType == ExtraType.CenterNotify_online_4) { if (extradatas.Length >= 4) { extra.Add("sync_notify_type", extradatas[0]); extra.Add("mac", extradatas[1]); extra.Add("localip", extradatas[2]); extra.Add("action", extradatas[3]); extra.Add("type", "1"); extra.Add("servertime", TimeHelper.JavaTime(DateTime.Now) + ""); } } var url = "http://msg.umeng.com/api/send"; if (type == DeviceType.IOS) { var p = new IOSPayLoad(title, text, ticker, category, extra); var ios = new IOS() { device_tokens = device_tokens, payload = p, description = "苹果推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <IOS> .RemoveStrNull(ios); var sign = YouMengHelper.GetSign(DeviceType.IOS, url, ios); var postbody = JsonHelper <IPush> .GetJson(ios); var dt = new Dictionary <string, string>(); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; dt.Add("sign", sign); try { var data = WebHelper.DoPost(fullurl, postbody); return(data); } #pragma warning disable CS0168 // 声明了变量“ex”,但从未使用过 catch (Exception ex) #pragma warning restore CS0168 // 声明了变量“ex”,但从未使用过 { return(string.Empty); } } else if (type == DeviceType.Andriod) { var p = new Payload("notification", ticker, title, text, extra); var android = new Android() { type = "listcast", device_tokens = device_tokens, payload = p, description = "android推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <Android> .RemoveStrNull(android); var sign = YouMengHelper.GetSign(type, url, android); var postbody = JsonHelper <IPush> .GetJson(android); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; var data = WebHelper.DoPost(fullurl, postbody); return(data); } ///中控设备 else if (type == DeviceType.Android_Center) { var cust_json = JsonHelper <Dictionary <string, string> > .GetJson(extra); var p = new Payload("message", ticker, title, text, extra, cust_json); ///中控设备的推送 var appkey = "595312d182b63512f90019bc"; var android = new Android(appkey) { type = "listcast", device_tokens = device_tokens, payload = p, description = "android推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <Android> .RemoveStrNull(android); var sign = YouMengHelper.GetSign(type, url, android); var postbody = JsonHelper <IPush> .GetJson(android); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; var data = WebHelper.DoPost(fullurl, postbody); return(data); } else if (type == DeviceType.IOS_APPStore) { var p = new IOSPayLoad(title, text, ticker, category, extra); var ios = new IOS_AppStore() { device_tokens = device_tokens, payload = p, description = "苹果推送", production_mode = "true", policy = new Policy() { expire_time = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd HH:mm:ss") } }; SetDataHelper <IOS_AppStore> .RemoveStrNull(ios); var sign = YouMengHelper.GetSign(DeviceType.IOS_APPStore, url, ios); var postbody = JsonHelper <IPush> .GetJson(ios); var dt = new Dictionary <string, string>(); var fullurl = "http://msg.umeng.com/api/send?sign=" + sign; dt.Add("sign", sign); try { var data = WebHelper.DoPost(fullurl, postbody); return(data); } catch { return(string.Empty); } } return(string.Empty); }