private void AddOrderTimeoutdalRun(object o) { if (_glb == null) { _glb = new JushGoldBookRemind_DAL(); } if (payload == null) { payload = new PushPayload(); } list = _glb.GoldAddList(); if (list.Count > 0) { List<string> list_users = new List<string>(); list.ForEach(z => list_users.Add(z.UsedId.ToString().DESEncrypt().StringToMd5().Md532SubString())); //PushPayload payload = new PushPayload(); payload.platform = Platform.all(); payload.audience = Audience.s_alias(list_users.ToArray()); payload.notification = new Notification().setAlert(Config.JushAddGoldBookRemindRemingMsg).setAndroid(new AndroidNotification().AddExtra("key", Config.JushGoPageGoldBook)).setIos(new IosNotification().AddExtra("key", Config.JushGoPageGoldBook)); try { client.SendPush(payload); //记录日志 Config.PushLogAPP("APP获取到优惠卷提醒", list_users.ListToStrings(), Config.JushAddGoldBookRemindRemingMsg); } catch (Jpush.api.common.APIRequestException ee) { string.Format("\r\n>>>APP获取到优惠卷提醒 推送异常:{0},time:{1}", ee.Message, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ).WriteLog("ERROR"); } } }
private void OrderTimeoutdalRun(object o) { if (_ordertimeoutdal == null) { _ordertimeoutdal = new JushOrderTimeOutRemind_DAL(); } list = _ordertimeoutdal.OrderOutList(); if (list.Count > 0) { List<string> list_users = new List<string>(); list.ForEach(z => list_users.Add(z.UserId.ToString().DESEncrypt().StringToMd5().Md532SubString())); //JPushClient client = new JPushClient(Config.PushApp_key, Config.PushMaster_secret); PushPayload payload = new PushPayload(); payload.platform = Platform.all(); payload.audience = Audience.s_alias(list_users.ToArray()); payload.notification = new Notification().setAlert(Config.JushOrderTimeOutRemindMsg).setAndroid(new AndroidNotification().AddExtra("key", Config.JushGoPageOrder)).setIos(new IosNotification().AddExtra("key", Config.JushGoPageOrder)); try { client.SendPush(payload); //记录日志 Config.PushLogAPP("APP订单超时推送提醒", list_users.ListToStrings(), Config.JushOrderTimeOutRemindMsg); } catch (Jpush.api.common.APIRequestException ee) { string.Format("\r\n>>>APP订单超时推送提醒 推送异常:{0},time:{1}", ee.Message, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ).WriteLog("ERROR"); } } }
public MessageResult sendPush(PushPayload payload) { Preconditions.checkArgument(payload != null, "pushPayload should not be empty"); payload.Check(); String payloadJson = payload.ToJson(); return sendPush(payloadJson); }
// ----------------------------- Push API /// <summary> /// 想某个设备或者某设别列表推送一条通知,或者消息 /// </summary> /// <param name="PushPayload">推送的数据结构,包含平台信息推送目标,通知内容,消息内容与可选参数</param> /// <returns>成功时返回sendno和messageid,失败时有异常抛出</returns> /// <exception cref="APIRequestException">包含http错误码:如401,404等,错误信息,JPush returen code和JPush returen mssage</exception> /// <exception cref="APIConnectionException">包含错误的信息</exception> /// <see cref="http://docs.jpush.cn/display/dev/Push-API-v3"/> public MessageResult SendPush(PushPayload payload) { Preconditions.checkArgument(payload!=null, "pushPayload should not be empty"); return _pushClient.sendPush(payload); }
private void TimingJush(object o) { if (_j_time == null) { _j_time = new JushTiming_DAL(); } if (payload == null) { payload = new PushPayload(); } list = _j_time.PushTiming(); if (list.Count > 0) { foreach (var item in list) { long MessageID = 0; int ErrorCode = 0; switch (item.SendPlatform) { case 1: payload.platform = Platform.android(); break; case 2: payload.platform = Platform.ios(); break; case 3: payload.platform = Platform.android_ios(); break; default: break; } switch (item.SendAudience) { case 0: payload.audience = Audience.all(); break; case 1: string[] tagArray = item.AudienceName.Split(','); payload.audience = Audience.s_tag(tagArray); break; case 2: payload.audience = Audience.s_alias(item.AudienceName); break; case 3: payload.audience = Audience.s_registrationId(item.AudienceName); break; default: break; } string strJosn = item.Extras == null ? "" : item.Extras; if (strJosn.Length > 0) { data = strJosn.JsonToDocuments(); if (data.Count > 0) { android = new AndroidNotification(); ios = new IosNotification(); foreach (var tt in data) { android.AddExtra(tt.Key, tt.Value.ToString()); ios.AddExtra(tt.Key, tt.Value.ToString()); } } payload.notification = new Notification().setAlert(item.Content).setAndroid(android).setIos(ios); } else { payload.notification = new Notification().setAlert(item.Content); } try { var result = client.SendPush(payload); //由于统计数据并非非是即时的,所以等待一小段时间再执行下面的获取结果方法 System.Threading.Thread.Sleep(5000); MessageID = Convert.ToInt64(result.msg_id); //记录日志 Config.PushLogAPP("APP定时发送", "所有", item.Content); } catch (Jpush.api.common.APIRequestException ee) { MessageID = ee.MsgId; ErrorCode = ee.ErrorCode; string.Format("\r\n>>>APP定时发送 推送异常:{0},time:{1}", ee.Message, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ).WriteLog("ERROR"); } _j_time.PushTimingUpdateStatu(MessageID, ErrorCode, item.Id); android = null; ios = null; } } }