/// <summary> /// 通过Tag推送到android设备 /// </summary> /// <param name="tagList"></param> /// <param name="tagOp"></param> /// <param name="msg"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushTags(List<String> tagList, String tagOp, Message msg) { 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("multi_pkg", msg.MultiPkg.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> /// 推送到 单个设备 安卓 /// </summary> /// <param name="deviceToken"></param> /// <param name="message"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushSingleDevice(string deviceToken, Message message) { if (message == null) { throw new ArgumentNullException("message"); } 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", message.SendTime); parameters.Add("multi_pkg", message.MultiPkg.ToString()); parameters.Add("expire_time", message.ExpireTime.ToString()); parameters.Add("message", message.ToJson()); parameters.Add("message_type", message.Type.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHSINGLEDEVICE, parameters); }
/// <summary> /// 推送到 单个用户 Android /// </summary> /// <param name="Account"></param> /// <param name="msg"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushSingleAccount(string Account, Message msg) { 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("multi_pkg", msg.MultiPkg.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> /// 推送到所有android设备 /// </summary> /// <param name="msg"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushAllDevice(Message msg) { 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); parameters.Add("multi_pkg", msg.MultiPkg.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_PUSHALLDEVICE, parameters); }
/// <summary> /// 推送消息给多个账号(Android) /// </summary> /// <param name="accountList">目标账号,最大限制100</param> /// <param name="msg"></param> /// <returns>返回值json反序列化后的类</returns> public Ret PushAccountList(List<String> accountList, Message msg) { 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("multi_pkg", msg.MultiPkg.ToString()); parameters.Add("expire_time", msg.ExpireTime.ToString()); parameters.Add("message", msg.ToJson()); parameters.Add("message_type", msg.Type.ToString()); return CallRestful(XinGeConfig.RESTAPI_PUSHACCOUNTLIST, parameters); }
/// <summary> /// 创建大批量推送消息 /// </summary> /// <param name="msg">Android通知和透传消息</param> /// <returns></returns> public Ret CreateMultiPush(Message msg) { 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("multi_pkg", msg.MultiPkg.ToString()); return CallRestful(XinGeConfig.RESTAPI_CREATEMULTIPUSH, parameters); }