Esempio n. 1
0
        /// <summary>
        /// 15  -->>   自建群编辑通知(刘静杰)
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static async Task PushSelfGroupNoticeMore(string deviceid, string touid, SelfGroupNoticeMore model)
        {
            var currentMethod = "PushSelfGroupNoticeMore";
            var title         = "群组动态通知";
            var content       = "群组动态";

            title = model.groupname;
            if (model.type == 0)
            {
                content = model.membername + "新加入群组";
            }
            else if (model.type == 1)
            {
                content = model.membername + "已被移出群组";
            }
            else if (model.type == 2)
            {
                content = model.membername + "退出群组";
            }
            else if (model.type == 3)
            {
                content = "群组已经被解散";
            }
            else if (model.type == 4)
            {
                content = "修改群组信息动态";
            }

            IGtPush push   = new IGtPush(HOST, APPKEY, MASTERSECRET);
            var     intent = $"intent:#Intent;component=net.cnki.okms/.pages.base.BootActivity;end";
            var     getui  = new GeTuiMessage
            {
                mtype    = 15,
                mcontent = model,
            };
            TransmissionTemplate template = TransmissionTemplate(title, content, intent, JsonConvert.SerializeObject(getui));
            // 单推消息模型
            SingleMessage message = new SingleMessage();

            message.IsOffline         = true;
            message.OfflineExpireTime = 1000 * 3600 * 12;
            message.Data = template;
            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = deviceid;
            var messageJson = JsonConvert.SerializeObject(message);

            LoggerHelper.AndroidPush($"1.个推-自建群编辑通知类消息[{touid}]推送的消息内容为:{Environment.NewLine}{messageJson}");
            try
            {
                String pushResult = push.pushMessageToSingle(message, target);
                LoggerHelper.AndroidPush($"2.个推-自建群编辑通知类消息[{touid}]推送的返回结果:{Environment.NewLine}{pushResult}");
            }
            catch (RequestException e)
            {
                String requestId = e.RequestId;
                //发送失败后的重发
                String pushResult = push.pushMessageToSingle(message, target, requestId);
                LoggerHelper.AndroidPush($"3.个推-自建群编辑通知类消息[{touid}]发生了异常,重发后,服务端返回结果:----------------" + pushResult);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 1.个推-聊天消息
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static async Task PushMessageToSingle(string touid, string deviceid, Msg msg)
        {
            var currentMethod = "PushMessageToSingle";
            //LoggerHelper.AndroidPush($"0.开始给[{touid}]推送Android消息{Environment.NewLine},cliendid={deviceid}");
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            //消息模版:TransmissionTemplate:透传模板
            //var intent = $"intent:#Intent;component=net.cnki.okms/.pages.base.BootActivity;end";
            var intent         = $"intent:#Intent;component=net.cnki.okms/.pages.base.IndexActivity;S.friendId={msg.fromuid};S.friendName={msg.fromrealname};S.isGroup=0;S.levelNoticeTpye=1;end";
            var title          = msg.fromrealname;
            var content        = "";
            var fromPersonName = "";

            if (msg.isgroup == 1)
            {
                title          = msg.torealname;
                fromPersonName = msg.fromrealname + ":";
            }
            content = fromPersonName + msg.msg;
            if (msg.msgtype == 1)
            {
                content = fromPersonName + "[图片]";
            }
            else if (msg.msgtype == 2)
            {
                content = fromPersonName + "[文件]";
            }
            else if (msg.msgtype == 4)
            {
                content = fromPersonName + "[语音]";
            }
            else if (msg.msgtype == 5)
            {
                content = fromPersonName + "[地图签到]";
            }
            else if (msg.msgtype == 3)
            {
                content = fromPersonName + "[图片]";
            }

            var getui = new GeTuiMessage
            {
                mtype    = 1,
                mcontent = msg,
            };

            if (msg.isgroup == 1)
            {
                intent = $"intent:#Intent;component=net.cnki.okms/.pages.base.IndexActivity;S.friendId={msg.touid};S.friendName={msg.torealname};S.isGroup=1;S.levelNoticeTpye=1;end";
                //template = TransmissionTemplate(msg.torealname, msg.msg, intent, JsonConvert.SerializeObject(msg));
            }
            TransmissionTemplate template = TransmissionTemplate(title, content, intent, JsonConvert.SerializeObject(getui));



            // 单推消息模型
            SingleMessage message = new SingleMessage();

            message.IsOffline         = true;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;     // 离线有效时间,单位为毫秒,可选
            message.Data = template;
            //判断是否客户端是否wifi环境下推送,2为4G/3G/2G,1为在WIFI环境下,0为不限制环境
            //message.PushNetWorkType = 1;

            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = deviceid;
            //target.alias = ALIAS;

            var messageJson = JsonConvert.SerializeObject(message);

            //LoggerHelper.AndroidPush($"1.给[{touid}]推送的消息内容为:{Environment.NewLine}{messageJson}");

            try
            {
                String pushResult = push.pushMessageToSingle(message, target);
                //LoggerHelper.AndroidPush($"2.给[{touid}]推送的消息返回结果为{Environment.NewLine}{pushResult}");

                //_dataService.InsertGeguiLog(msg.fromuid, touid, msg.msgtime, msg.id0, "android", deviceid, messageJson);
            }
            catch (RequestException e)
            {
                String requestId = e.RequestId;
                //发送失败后的重发
                String pushResult = push.pushMessageToSingle(message, target, requestId);
                LoggerHelper.AndroidPush($"3.给[{touid}]推送发生了异常,重发后,服务端返回结果{Environment.NewLine}{pushResult}");
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 6 - 12 研讨类消息
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="msgtype"></param>
        /// <param name="msg"></param>
        /// <param name="touid"></param>
        /// <returns></returns>
        public static async Task PushDiscussMessage(string deviceid, int msgtype, string msg, string touid)
        {
            var    currentMethod = "PushDiscussMessage";
            object model         = null;
            var    content       = "新的研讨消息";

            if (msgtype == 6)
            {
                var m = JsonConvert.DeserializeObject <AddDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 7)
            {
                var m = JsonConvert.DeserializeObject <DeleteDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 8)
            {
                var m = JsonConvert.DeserializeObject <ModifyDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 9)
            {
                var m = JsonConvert.DeserializeObject <FinishDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 10)
            {
                var m = JsonConvert.DeserializeObject <ActivateDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 11)
            {
                var m = JsonConvert.DeserializeObject <RemindDiscuss>(msg);
                content = m.Name + "有新的研讨消息";
                model   = m;
            }
            else if (msgtype == 12)
            {
                var m = JsonConvert.DeserializeObject <Note>(msg);
                content = m.Title + "有新的研讨消息";
                model   = m;
            }



            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            //消息模版:TransmissionTemplate:透传模板
            var intent = $"intent:#Intent;component=net.cnki.okms/.pages.base.BootActivity;end";
            var title  = "协同研讨";

            var getui = new GeTuiMessage
            {
                mtype    = msgtype,
                mcontent = model,
            };

            TransmissionTemplate template = TransmissionTemplate(title, content, intent, JsonConvert.SerializeObject(getui));



            // 单推消息模型
            SingleMessage message = new SingleMessage();

            message.IsOffline         = true;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;     // 离线有效时间,单位为毫秒,可选
            message.Data = template;
            //判断是否客户端是否wifi环境下推送,2为4G/3G/2G,1为在WIFI环境下,0为不限制环境
            //message.PushNetWorkType = 1;

            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = deviceid;
            //target.alias = ALIAS;

            var messageJson = JsonConvert.SerializeObject(message);

            LoggerHelper.AndroidPush($"1.个推-研讨类消息[{touid}]推送的消息内容为:{Environment.NewLine}{messageJson}");

            try
            {
                String pushResult = push.pushMessageToSingle(message, target);
                LoggerHelper.AndroidPush($"2.(个推-研讨类消息)给[{touid}]返回结果:" + pushResult);
            }
            catch (RequestException e)
            {
                String requestId = e.RequestId;
                //发送失败后的重发
                String pushResult = push.pushMessageToSingle(message, target, requestId);
                LoggerHelper.AndroidPush($"3.(个推-研讨类消息)给[{touid}]发生了异常,重发后,服务端返回结果:----------------" + pushResult);
            }
        }