Пример #1
0
        /// <summery> 推送消息给绑定账号的设备, 限 iOS 系统使用
        /// <param name = "accountList"> 接收设备标识绑定的账号列表 </param>
        /// <param name = "message"> iOS 消息结构体,注意:第一次推送时,message中的pushID是填写0,若需要再次推送同样的文本,需要根据返回的push_id填写 </param>
        /// <param name = "environment"> 指定推送环境 </param>
        /// <returns> 推送结果描述 </returns>
        /// </summery>
        public async Task <string> PushAccountList(List <string> accountList, MessageiOS message,
                                                   PushEnvironmentofiOS environment)
        {
            if (!IsValidMessageType(message, environment))
            {
                return("{'ret_code':-1,'err_msg':'message type or environment error!'}");
            }

            if (!message.isValid())
            {
                return("{'ret_code':-1,'err_msg':'message invalid!'}");
            }

            var param = new Dictionary <string, object>
            {
                { "audience_type", "account_list" },
                { "platform", "ios" },
                // param.Add("access_id", this.xgPushAppAccessKey);
                { "expire_time", message.getExpireTime() },
                { "send_time", message.getSendTime() },
                { "account_list", ToJArray(accountList) },
                { "message_type", message.getType() },
                { "message", message.toJson() },
                { "push_id", message.getPushID().ToString() },
                { "timestamp", (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000 },
                { "environment", environment }
            };
            var ret = await RequestXgServerV3(_xgPushServierHost, _xgPushAppPath, param);

            return(ret);
        }
Пример #2
0
        /// <summery> 推送消息给绑定账号的设备, 限 iOS 系统使用
        /// <param name = "accountList"> 接收设备标识绑定的账号列表 </param>
        /// <param name = "message"> iOS 消息结构体,注意:第一次推送时,message中的pushID是填写0,若需要再次推送同样的文本,需要根据返回的push_id填写 </param>
        /// <param name = "environment"> 指定推送环境 </param>
        /// <returns> 推送结果描述 </returns>
        /// </summery>
        public string PushAccountList(List <string> accountList, MessageiOS message, PushEnvironmentofiOS environment)
        {
            if (!isValidMessageType(message, environment))
            {
                return("{'ret_code':-1,'err_msg':'message type or environment error!'}");
            }
            if (!message.isValid())
            {
                return("{'ret_code':-1,'err_msg':'message invalid!'}");
            }
            Dictionary <string, object> param = new Dictionary <string, object>();

            param.Add("audience_type", "account_list");
            param.Add("platform", "ios");
            // param.Add("access_id", this.xgPushAppAccessKey);
            param.Add("expire_time", message.getExpireTime());
            param.Add("send_time", message.getSendTime());
            param.Add("account_list", toJArray(accountList));
            param.Add("message_type", message.getType());
            param.Add("message", message.toJson());
            param.Add("push_id", message.getPushID().ToString());
            param.Add("timestamp", (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000);
            param.Add("environment", environment);
            string ret = requestXGServerV3(XingeApp.XGPushServierHost, XingeApp.XGPushAppPath, param);

            return(ret);
        }