Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
 /// <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);
 }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
 /// <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);
 }
Esempio n. 6
0
 /// <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);
 }