/// <summary> /// 通过tag推送到ios设备 /// </summary> /// <param name="tagList"></param> /// <param name="tagOp"></param> /// <param name="msg"></param> /// <param name="environment"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushTags(List<String> tagList, String tagOp, MessageIOS msg, uint environment) { if (tagList == null || tagList.Count == 0) { throw new ArgumentNullException("tagList"); } IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); parameters.Add("tags_list", JsonConvert.SerializeObject(tagList)); parameters.Add("tags_op", tagOp); parameters.Add("expire_time",msg.ExpireTime.ToString()); parameters.Add("send_time", msg.SendTime); parameters.Add("environment", environment.ToString()); if (msg.LoopInterval > 0 && msg.LoopTimes > 0) { parameters.Add("loop_interval", msg.LoopInterval.ToString()); parameters.Add("loop_times", msg.LoopTimes.ToString()); } return CallRestful(XinGeConfig.RESTAPI_PUSHTAGS, parameters); }
/// <summary> /// 推送到 单个设备 IOS /// </summary> /// <param name="deviceToken"></param> /// <param name="msg"></param> /// <param name="environment"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushSingleDevice(string deviceToken, MessageIOS msg, uint environment) { if (msg == null) { throw new ArgumentNullException("msg"); } if (string.IsNullOrEmpty(deviceToken)) { throw new ArgumentNullException("deviceToken"); } IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("device_token", deviceToken); parameters.Add("send_time", msg.SendTime); parameters.Add("environment", environment.ToString()); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHSINGLEDEVICE, parameters); }
/// <summary> /// 推送到 单个用户 IOS /// </summary> /// <param name="Account">账号</param> /// <param name="msg">信息</param> /// <param name="environment">推送环境(开发or在线)</param> /// <returns>返回值json反序列化后的类</returns> public Ret PushSingleAccount(string Account, MessageIOS msg, uint environment) { if (msg == null) { throw new ArgumentNullException("msg"); } if (string.IsNullOrEmpty(Account)) { throw new ArgumentNullException("Account"); } IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("account", Account); parameters.Add("send_time", msg.SendTime); parameters.Add("environment", environment.ToString()); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHSINGLEACCOUNT, parameters); }
/// <summary> /// 推送到所有ios设备 /// </summary> /// <param name="msg"></param> /// <param name="environment"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushAllDevice(MessageIOS msg, uint environment) { if (msg == null) { throw new ArgumentNullException("msg"); } IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); parameters.Add("send_time", msg.SendTime); if (msg.LoopInterval > 0 && msg.LoopTimes > 0) { parameters.Add("loop_interval", msg.LoopInterval.ToString()); parameters.Add("loop_times", msg.LoopTimes.ToString()); } parameters.Add("environment", environment.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHALLDEVICE, parameters); }
/// <summary> /// 推送消息给多个账号(iOS) /// </summary> /// <param name="accountList">目标账号,最大限制100</param> /// <param name="msg"></param> /// <param name="environment"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushAccountList(List<String> accountList, MessageIOS msg, uint environment) { if (msg == null) { throw new ArgumentNullException("msg"); } if (accountList.Count == 0) { throw new ArgumentNullException("accountList"); } if (accountList.Count > 100) { throw new ArgumentOutOfRangeException("accountList"); } IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("account_list", JsonConvert.SerializeObject(accountList)); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); parameters.Add("environment", environment.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHACCOUNTLIST, parameters); }
/// <summary> /// 创建大批量推送消息 /// </summary> /// <param name="msg">IOS通知</param> /// <param name="environment">环境</param> /// <returns></returns> public Ret CreateMultiPush(MessageIOS msg, uint environment) { IDictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("environment", environment.ToString()); return CallRestful(XinGeConfig.RESTAPI_CREATEMULTIPUSH, parameters); }