Exemple #1
0
        //PushMessageToSingle接口测试代码
        private static void PushMessageToSingle()
        {
            // 推送主类
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            //通知模版:支持TransmissionTemplate、LinkTemplate、NotificationTemplate,此处以TransmissionTemplate为例
            TransmissionTemplate template = new TransmissionTemplate();

            template.AppId               = APPID;       // 应用APPID
            template.AppKey              = APPKEY;      // 应用APPKEY
            template.TransmissionType    = "1";         // 收到消息是否立即启动应用,1为立即启动,2则广播等待客户端自启动
            template.TransmissionContent = "您需要透传的内容";  // 需要透传的内容

            //iOS推送需要的pushInfo字段
            //template.setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage);

            // 单推消息模型
            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 = CLIENTID;

            String pushResult = push.pushMessageToSingle(message, target);

            System.Console.WriteLine("-----------PushMessageToSingle--------------" + pushResult);
        }
Exemple #2
0
        public static string GeTuiMsg(string msgTitle, string msgBody, string appid, string appkey, string mastersecret, string clientId, DateTime?msgPostTime)
        {
            var HOST = "http://sdk.open.api.igexin.com/apiex.htm";

            var push = new IGtPush(HOST, appkey, mastersecret);
            // 定义"AppMessage"类型消息对象,设置消息内容模板、发送的目标App列表、是否支持离线发送、以及离线消息有效期(单位毫秒)
            var batch = new BatchImpl(appkey, push);
            //var message = new AppMessage();
            var message = new SingleMessage();
            //var template = NotificationTemplateDemo(msgTitle, msgBody, appid, appkey, msgPostTime);
            var template = TransmissionContent(msgTitle, msgBody, appid, appkey);

            message.IsOffline         = true;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;     // 离线有效时间,单位为毫秒,可选
            message.Data            = template;
            message.PushNetWorkType = 0;

            var targetTrans = new Target
            {
                appId    = appid,
                clientId = clientId
            };

            batch.add(message, targetTrans);
            try
            {
                return(batch.submit());
            }
            catch
            {
                return(batch.retry());
            }
        }
Exemple #3
0
        /// <summary>
        /// PushMessageToSingle接口测试代码
        /// </summary>
        /// <param name="PaltForm">平台类型  1:苹果 2:安卓</param>
        /// <param name="clientId"></param>
        /// <param name="NoticeTitle">通知标题</param>
        /// <param name="NoticeContent">通知内容</param>
        /// <param name="custom_content">自定义内容</param>
        /// <returns></returns>
        public static string PushMessageToSingle(int PaltForm, string clientId, string NoticeTitle, string NoticeContent, string custom_content)
        {
            CLIENTID = clientId;
            // 推送主类
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            /*消息模版:
             *  1.TransmissionTemplate:透传模板
             *  2.LinkTemplate:通知链接模板
             *  3.NotificationTemplate:通知透传模板
             *  4.NotyPopLoadTemplate:通知弹框下载模板
             */
            //数据经SDK传给您的客户端,由您写代码决定如何处理展现给用户
            //TransmissionTemplate template = TransmissionTemplateDemo(PaltForm, NoticeTitle, NoticeContent, custom_content);
            //LinkTemplate template = LinkTemplateDemo(NoticeTitle, NoticeContent);
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo(NoticeTitle, NoticeContent);

            //在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用
            NotificationTemplate template = NotificationTemplateDemo(PaltForm, NoticeTitle, NoticeContent, custom_content);

            SingleMessage message = new SingleMessage();

            message.IsOffline         = false;                 // 用户当前不在线时,是否离线存储,可选
            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 = CLIENTID;

            String pushResult = push.pushMessageToSingle(message, target);

            return(pushResult);
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        public static void getUserStatus()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String  ret  = push.getClientIdStatus(APPID, CLIENTID);

            Console.WriteLine("用户状态:" + ret);
        }
Exemple #5
0
        //private static String DeviceToken = "";  //填写IOS系统的DeviceToken
        /// <summary>
        /// 单个消息推送
        /// </summary>
        /// <param name="TransmissionType">应用启动类型,1:强制应用启动 2:等待应用启动</param>
        /// <param name="TransmissionContent">透传内容</param>
        /// <param name="beginTime">设置通知定时展示时间,结束时间与开始时间相差需大于6分钟,消息推送后,客户端将在指定时间差内展示消息(误差6分钟)</param>
        /// <param name="endTime">设置通知定时展示时间,结束时间与开始时间相差需大于6分钟,消息推送后,客户端将在指定时间差内展示消息(误差6分钟)</param>
        /// <param name="CLIENTID">个推clientId</param>
        public static void PushMessageToSingle(string TransmissionType, string TransmissionTitle, string TransmissionContent, string beginTime, string endTime, string CLIENTID)
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            //消息模版:TransmissionTemplate:透传模板
            TransmissionTemplate template = TransmissionTemplate(TransmissionType, TransmissionTitle, TransmissionContent, beginTime, endTime);
            // 单推消息模型
            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 = CLIENTID;
            //target.alias = ALIAS;
            try
            {
                String pushResult = push.pushMessageToSingle(message, target);
            }
            catch (RequestException e)
            {
                String requestId = e.RequestId;
                //发送失败后的重发
                String pushResult = push.pushMessageToSingle(message, target, requestId);
            }
        }
Exemple #6
0
        private static string HOST         = "http://sdk.open.api.igexin.com/apiex.htm"; //HOST:OpenService接口地址

        //PushMessageToSingle接口测试代码
        public static string PushMessageToSingle(string cid, string title, string messageText)
        {
            // 推送主类
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            /*消息模版:
             *  1.TransmissionTemplate:透传模板
             *  2.LinkTemplate:通知链接模板
             *  3.NotificationTemplate:通知透传模板
             *  4.NotyPopLoadTemplate:通知弹框下载模板
             */

            //TransmissionTemplate template =  TransmissionTemplateDemo();
            NotificationTemplate template = NotificationTemplateDemo(title, messageText);
            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();


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

            message.IsOffline         = false;                 // 用户当前不在线时,是否离线存储,可选
            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 = cid;

            string pushResult = push.pushMessageToSingle(message, target);

            return(pushResult);
        }
Exemple #7
0
        public static void aliasUnBindAll()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String  ret  = push.unBindAliasAll(APPID, ALIAS);

            System.Console.WriteLine(ret);
        }
Exemple #8
0
        public static void queryClientId()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String  ret  = push.queryClientId(APPID, ALIAS);

            System.Console.WriteLine(ret);
        }
Exemple #9
0
        /// <summary>
        /// 多消息推送
        /// </summary>
        /// <param name="Title">通知栏标题</param>
        /// <param name="Text">通知栏内容</param>
        /// <param name="Logo">通知栏显示本地图片</param>
        /// <param name="LogoURL">通知栏显示网络图标</param>
        /// <param name="TransmissionType">应用启动类型,1:强制应用启动  2:等待应用启动</param>
        /// <param name="TransmissionContent">透传内容</param>
        /// <param name="IsRing">接收到消息是否响铃,true:响铃 false:不响铃</param>
        /// <param name="IsVibrate">接收到消息是否震动,true:震动 false:不震动</param>
        /// <param name="IsClearable">接收到消息是否可清除,true:可清除 false:不可清除</param>
        /// <param name="beginTime">设置通知定时展示时间,结束时间与开始时间相差需大于6分钟,消息推送后,客户端将在指定时间差内展示消息(误差6分钟)</param>
        /// <param name="endTime">设置通知定时展示时间,结束时间与开始时间相差需大于6分钟,消息推送后,客户端将在指定时间差内展示消息(误差6分钟)</param>
        /// <param name="clientIdList">client列表</param>
        public static void PushMessageToList(string Title, string Text, string Logo, string LogoURL, string TransmissionType, string TransmissionContent, bool IsRing, bool IsVibrate, bool IsClearable, string beginTime, string endTime, List <string> clientIdList)
        {
            // 推送主类(方式1,不可与方式2共存)
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            // 推送主类(方式2,不可与方式1共存)此方式可通过获取服务端地址列表判断最快域名后进行消息推送,每10分钟检查一次最快域名
            //IGtPush push = new IGtPush("",APPKEY,MASTERSECRET);
            ListMessage          message  = new ListMessage();
            NotificationTemplate template = NotificationTemplate(Title, Text, Logo, LogoURL, TransmissionType, TransmissionContent, IsRing, IsVibrate, IsClearable, beginTime, endTime);

            // 用户当前不在线时,是否离线存储,可选
            message.IsOffline = true;
            // 离线有效时间,单位为毫秒,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;
            message.Data = template;
            //message.PushNetWorkType = 0;        //判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
            //设置接收者
            List <com.igetui.api.openservice.igetui.Target> targetList = new List <com.igetui.api.openservice.igetui.Target>();

            foreach (string item in clientIdList)
            {
                com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
                target.appId    = APPID;
                target.clientId = item;
                targetList.Add(target);
            }
            String contentId  = push.getContentId(message);
            String pushResult = push.pushMessageToList(contentId, targetList);
        }
Exemple #10
0
        public static void PushMessageToSingle(string title, string content, string data, string cid)
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            //消息模版:TransmissionTemplate:透传模板
            var template = NotificationTemplateDemo(title, content, data);
            // 单推消息模型

            SingleMessage message = new SingleMessage();

            message.IsOffline         = false;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;      // 离线有效时间,单位为毫秒,可选
            message.Data = template;
            //判断是否客户端是否wifi环境下推送,2为4G/3G/2G,1为在WIFI环境下,0为不限制环境
            message.PushNetWorkType = 0;
            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = cid;
            //target.alias = ALIAS;
            try
            {
                push.pushMessageToSingle(message, target);
            }
            catch (RequestException e)
            {
                String requestId = e.RequestId;
                //发送失败后的重发
                push.pushMessageToSingle(message, target, requestId);
            }
        }
Exemple #11
0
        public static void queryAlias()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String  ret  = push.queryAlias(APPID, CLIENTID);

            System.Console.WriteLine(ret);
        }
Exemple #12
0
        /// <summary>
        /// ios个推离线通知
        /// </summary>
        /// <param name="title"></param>
        /// <param name="content"></param>
        /// <param name="token"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string APNsPushToSingle(string title, string content, string token, object data)
        {
            APNTemplate        template   = new APNTemplate();
            APNPayload         apnpayload = new APNPayload();
            DictionaryAlertMsg alertMsg   = new DictionaryAlertMsg();

            alertMsg.Body         = content; //通知文本消息字符串
            alertMsg.ActionLocKey = "";
            alertMsg.LocKey       = "";
            alertMsg.addLocArg("");
            alertMsg.LaunchImage = "";    //指定启动界面图片名
            //IOS8.2支持字段
            alertMsg.Title       = title; //通知标题
            alertMsg.TitleLocKey = "";
            alertMsg.addTitleLocArg("");
            apnpayload.AlertMsg = alertMsg;
            //apnpayload.Badge = 1;//应用icon上显示的数字
            apnpayload.ContentAvailable = 1;       //推送直接带有透传数据
            apnpayload.Category         = "";
            apnpayload.Sound            = "";      //通知铃声文件名
            apnpayload.addCustomMsg("data", data); //增加自定义的数据
            template.setAPNInfo(apnpayload);
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            /*单个用户推送接口*/
            SingleMessage Singlemessage = new SingleMessage();

            Singlemessage.Data = template;
            String pushResult = push.pushAPNMessageToSingle(APPID, token, Singlemessage);

            Console.Out.WriteLine(pushResult);
            return(pushResult);
        }
Exemple #13
0
        /// <summary>
        /// 获取用户当前状态
        /// </summary>
        /// <returns></returns>
        public string GetUserStatus()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String  ret  = push.getClientIdStatus(APPID, CLIENTID[0]);

            return(ret);
        }
Exemple #14
0
        /// <summary>
        /// 推送所有用户
        /// </summary>
        /// <param name="template"></param>
        /// <returns></returns>
        public string PushAll(ITemplate template)
        {
            IGtPush    push    = new IGtPush(HOST, APPKEY, MASTERSECRET);
            AppMessage message = new AppMessage();

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

            List <String> appIdList = new List <string>();

            appIdList.Add(APPID);

            List <String> phoneTypeList = new List <string>();//通知接收者的手机操作系统类型

            phoneTypeList.Add("ANDROID");
            //phoneTypeList.Add("IOS");

            List <String> provinceList = new List <string>();//通知接收者所在省份
            //provinceList.Add("浙江");

            List <String> tagList = new List <string>();

            //tagList.Add("标签5");

            message.AppIdList     = appIdList;
            message.PhoneTypeList = phoneTypeList;
            message.ProvinceList  = provinceList;
            message.TagList       = tagList;
            return(push.pushMessageToApp(message, "toAPP任务别名"));
        }
Exemple #15
0
        /// <summary>
        /// 推送多个用户
        /// </summary>
        /// <returns></returns>
        public string PushMultiple(ITemplate template)
        {
            IGtPush     push    = new IGtPush(HOST, APPKEY, MASTERSECRET);
            ListMessage message = new ListMessage();

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

            //设置接收者
            List <Target> targetList = new List <Target>();

            for (var i = 0; i < CLIENTID.Count; i++)
            {
                Target target = new Target();
                target.appId    = APPID;
                target.clientId = CLIENTID[i];
                targetList.Add(target);
            }

            String contentId  = push.getContentId(message, "任务组名");
            String pushResult = push.pushMessageToList(contentId, targetList);

            return(pushResult);
        }
Exemple #16
0
        public static void apnPush(string title, string text, string iconUrl, List <string> pushChannels)
        {
            //APN简单推送
            //IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            //APNTemplate template = new APNTemplate();
            //APNPayload apnpayload = new APNPayload();
            //SimpleAlertMsg alertMsg = new SimpleAlertMsg("");
            //apnpayload.AlertMsg = alertMsg;
            //apnpayload.Badge = 11;
            //apnpayload.ContentAvailable = 1;
            //apnpayload.Category = "";
            //apnpayload.Sound = "com.gexin.ios.silence";
            //apnpayload.addCustomMsg("", "");
            //template.setAPNInfo(apnpayload);

            //APN高级推送
            IGtPush            push       = new IGtPush(HOST, APPKEY, MASTERSECRET);
            APNTemplate        template   = new APNTemplate();
            APNPayload         apnpayload = new APNPayload();
            DictionaryAlertMsg alertMsg   = new DictionaryAlertMsg();

            alertMsg.Body         = text;
            alertMsg.ActionLocKey = title;
            alertMsg.LocKey       = title;
            alertMsg.addLocArg("");
            alertMsg.LaunchImage = iconUrl;
            //IOS8.2支持字段
            alertMsg.Title       = "";
            alertMsg.TitleLocKey = "";
            alertMsg.addTitleLocArg("");

            apnpayload.AlertMsg         = alertMsg;
            apnpayload.Badge            = 10;
            apnpayload.ContentAvailable = 1;
            apnpayload.Category         = "";
            apnpayload.Sound            = "";
            apnpayload.addCustomMsg("", "");
            template.setAPNInfo(apnpayload);



            /*单个用户推送接口*/
            //SingleMessage Singlemessage = new SingleMessage();
            //Singlemessage.Data = template;
            //String pushResult = push.pushAPNMessageToSingle(APPID, DeviceToken, Singlemessage);
            //Console.Out.WriteLine(pushResult);

            /*多个用户推送接口*/
            ListMessage listmessage = new ListMessage();

            listmessage.Data = template;
            String contentId = push.getAPNContentId(APPID, listmessage);
            //Console.Out.WriteLine(contentId);
            //List<String> devicetokenlist = new List<string>();
            //devicetokenlist.Add(DeviceToken);
            //String ret = push.pushAPNMessageToList(APPID, contentId, devicetokenlist);
            //Console.Out.WriteLine(ret);
            String ret = push.pushAPNMessageToList(APPID, contentId, pushChannels);
        }
Exemple #17
0
        public static void taskStop()
        {
            IGtPush push   = new IGtPush(HOST, APPKEY, MASTERSECRET);
            Boolean result = push.stop("OSA-0615_XHyhC4s3cgAdRw7CSpaPx3");

            System.Console.WriteLine("-----------------------------------------------");
            System.Console.WriteLine(result);
        }
Exemple #18
0
        private static String DeviceToken = "";                                         //填写IOS系统的DeviceToken

        public static void getPushResult()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            //String ret = push.getPushResult("OSA-0312_oPv6vL62zgA3JU942ZO3S");
            //System.Console.WriteLine(ret);

            //System.Console.WriteLine(push.queryAppPushDataByDate(APPID, "20150612"));
            System.Console.WriteLine(push.queryAppUserDataByDate(APPID, "20150525"));
        }
Exemple #19
0
        public static void setTag()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            List <String> list = new List <String>();

            list.Add("");
            String ret = push.setClientTag(APPID, CLIENTID, list);

            System.Console.WriteLine(ret);
        }
Exemple #20
0
        //pushMessageToApp接口测试代码
        private static void pushMessageToApp()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            AppMessage message = new AppMessage();

            /*消息模版:
             *  1.TransmissionTemplate:透传模板
             *  2.LinkTemplate:通知链接模板
             *  3.NotificationTemplate:通知透传模板
             *  4.NotyPopLoadTemplate:通知弹框下载模板
             */

            //TransmissionTemplate template =  TransmissionTemplateDemo();
            NotificationTemplate template = NotificationTemplateDemo();

            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();

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

            List <String> appIdList = new List <string>();

            appIdList.Add(APPID);

            List <String> phoneTypeList = new List <string>();    //通知接收者的手机操作系统类型
            //phoneTypeList.Add("ANDROID");
            //phoneTypeList.Add("IOS");

            List <String> provinceList = new List <string>();     //通知接收者所在省份
            //provinceList.Add("浙江");
            //provinceList.Add("上海");
            //provinceList.Add("北京");

            List <String> tagList = new List <string>();

            tagList.Add("中文");

            message.AppIdList     = appIdList;
            message.PhoneTypeList = phoneTypeList;
            message.ProvinceList  = provinceList;
            message.TagList       = tagList;


            String pushResult = push.pushMessageToApp(message, "toAPP任务别名");

            System.Console.WriteLine("-----------------------------------------------");
            System.Console.WriteLine("服务端返回结果:" + pushResult);
        }
Exemple #21
0
        //PushMessageToSingle接口测试代码
        //public static void PushMessageToSingle()
        //{
        //    // 推送主类
        //    IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

        //    /*消息模版:
        //        1.TransmissionTemplate:透传模板
        //        2.LinkTemplate:通知链接模板
        //        3.NotificationTemplate:通知透传模板
        //        4.NotyPopLoadTemplate:通知弹框下载模板
        //     */

        //    TransmissionTemplate template = TransmissionTemplateDemo();
        //    //NotificationTemplate template =  NotificationTemplateDemo();
        //    //LinkTemplate template = LinkTemplateDemo();
        //    //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();


        //    // 单推消息模型
        //    SingleMessage message = new SingleMessage();
        //    message.IsOffline = true;                         // 用户当前不在线时,是否离线存储,可选
        //    message.OfflineExpireTime = 1000 * 3600 * 12;            // 离线有效时间,单位为毫秒,可选
        //    message.Data = template;
        //    //message.PushNetWorkType = 1;        //判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为非WIFI环境

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

        //    try
        //    {
        //        String pushResult = push.pushMessageToSingle(message, target);

        //        System.Console.WriteLine("-----------------------------------------------");
        //        System.Console.WriteLine("-----------------------------------------------");
        //        System.Console.WriteLine("----------------服务端返回结果:" + pushResult);
        //    }
        //    catch (RequestException e)
        //    {
        //        String requestId = e.RequestId;
        //        String pushResult = push.pushMessageToSingle(message, target, requestId);
        //        System.Console.WriteLine("-----------------------------------------------");
        //        System.Console.WriteLine("-----------------------------------------------");
        //        System.Console.WriteLine("----------------服务端返回结果:" + pushResult);
        //    }
        //}

        public static void PushMessageToSingleBatch()
        {
            // 推送主类
            IGtPush push  = new IGtPush(HOST, APPKEY, MASTERSECRET);
            IBatch  Batch = push.getBatch();

            /*消息模版:
             *  1.TransmissionTemplate:透传模板
             *  2.LinkTemplate:通知链接模板
             *  3.NotificationTemplate:通知透传模板
             *  4.NotyPopLoadTemplate:通知弹框下载模板
             */

            //TransmissionTemplate template = TransmissionTemplateDemo();

            NotificationTemplate template = NotificationTemplateDemo();

            template.Title = "程序推送";
            template.Text  = "这是推送的内容";
            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();


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

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

            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = CLIENTID;

            Batch.add(message, target);

            try
            {
                String pushResult = Batch.submit();

                System.Console.WriteLine("-----------------------------------------------");
                System.Console.WriteLine("-----------------------------------------------");
                System.Console.WriteLine("----------------服务端返回结果:" + pushResult);
            }
            catch (Exception e)
            {
                String pushResult = Batch.retry();
                System.Console.WriteLine("-----------------------------------------------");
                System.Console.WriteLine("-----------------------------------------------");
                System.Console.WriteLine("----------------服务端返回结果:" + pushResult);
            }
        }
Exemple #22
0
        /// <summary>
        /// 2 群组动态
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static async Task PushGroupDynamic(string deviceid, string touid, string msg)
        {
            var currentMethod = "PushGroupDynamic";


            var title   = "群组动态通知";
            var content = "新的群组动态";

            var model = JsonConvert.DeserializeObject <AppGroupDynamic>(msg);

            title = model.GroupName;
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

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


            var getui = new GeTuiMessage
            {
                mtype    = 2,
                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);
            }
        }
Exemple #23
0
        //pushMessageToApp接口测试代码
        public static string PushMessageToApp(string title, string messageText)
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            AppMessage message = new AppMessage();

            /*消息模版:
             *  1.TransmissionTemplate:透传模板
             *  2.LinkTemplate:通知链接模板
             *  3.NotificationTemplate:通知透传模板
             *  4.NotyPopLoadTemplate:通知弹框下载模板
             */

            //TransmissionTemplate template =  TransmissionTemplateDemo();
            NotificationTemplate template = NotificationTemplateDemo(title, messageText);

            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();

            message.IsOffline         = false;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;      // 离线有效时间,单位为毫秒,可选
            message.Data = template;

            List <string> appIdList = new List <string>();

            appIdList.Add(APPID);

            List <string> phoneTypeList = new List <string>();    //通知接收者的手机操作系统类型
            //phoneTypeList.Add("ANDROID");
            //phoneTypeList.Add("IOS");

            List <string> provinceList = new List <string>();     //通知接收者所在省份
            //provinceList.Add("浙江");
            //provinceList.Add("上海");
            //provinceList.Add("北京");

            List <string> tagList = new List <string>();

            //tagList.Add("开心");

            message.AppIdList     = appIdList;
            message.PhoneTypeList = phoneTypeList;
            message.ProvinceList  = provinceList;
            message.TagList       = tagList;


            string pushResult = push.pushMessageToApp(message);

            //System.Console.WriteLine("-----------------------------------------------");
            //System.Console.WriteLine("服务端返回结果:" + pushResult);
            return(pushResult);
        }
Exemple #24
0
    //PushMessageToList接口测试代码
    public static void PushMessageToList(string[] arr, string[] arr2)
    {
        // 推送主类(方式1,不可与方式2共存)
        IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
        // 推送主类(方式2,不可与方式1共存)此方式可通过获取服务端地址列表判断最快域名后进行消息推送,每10分钟检查一次最快域名
        //IGtPush push = new IGtPush("",APPKEY,MASTERSECRET);
        ListMessage message = new ListMessage();

        NotificationTemplate template = NotificationTemplateDemo(arr);

        // 用户当前不在线时,是否离线存储,可选
        message.IsOffline = false;
        // 离线有效时间,单位为毫秒,可选
        message.OfflineExpireTime = 1000 * 3600 * 12;
        message.Data            = template;
        message.PushNetWorkType = 0;        //判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
        //设置接收者
        List <com.igetui.api.openservice.igetui.Target> targetList = new List <com.igetui.api.openservice.igetui.Target>();

        com.igetui.api.openservice.igetui.Target target = null;

        for (int i = 0; i < arr2.Length; i++)
        {
            target          = new com.igetui.api.openservice.igetui.Target();
            target.appId    = APPID;
            target.clientId = arr2[0];
            targetList.Add(target);
        }



        // List<com.igetui.api.openservice.igetui.Target> targetList = new List<com.igetui.api.openservice.igetui.Target>();
        //com.igetui.api.openservice.igetui.Target target1 = new com.igetui.api.openservice.igetui.Target();
        //target1.appId = APPID;
        //target1.clientId = CLIENTID;

        // 如需要,可以设置多个接收者
        //com.igetui.api.openservice.igetui.Target target2 = new com.igetui.api.openservice.igetui.Target();
        //target2.AppId = APPID;
        //target2.ClientId = "ddf730f6cabfa02ebabf06e0c7fc8da0";

        //targetList.Add(target1);
        //targetList.Add(target2);

        String contentId  = push.getContentId(message);
        String pushResult = push.pushMessageToList(contentId, targetList);

        System.Console.WriteLine("-----------------------------------------------");
        System.Console.WriteLine("服务端返回结果:" + pushResult);
    }
Exemple #25
0
        //pushMessageToApp透传
        public void pushMessageToApp()
        {
            // 推送主类(方式1,不可与方式2共存)
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            // 推送主类(方式2,不可与方式1共存)此方式可通过获取服务端地址列表判断最快域名后进行消息推送,每10分钟检查一次最快域名
            //IGtPush push = new IGtPush("",APPKEY,MASTERSECRET);

            AppMessage message = new AppMessage();

            // 设置群推接口的推送速度,单位为条/秒,仅对pushMessageToApp(对指定应用群推接口)有效
            message.Speed = 100;

            TransmissionTemplate template = TransmissionTemplateDemo();

            // 用户当前不在线时,是否离线存储,可选
            message.IsOffline = false;
            // 离线有效时间,单位为毫秒,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;
            message.Data = template;
            //message.PushNetWorkType = 0;        //判断是否客户端是否wifi环境下推送,1为在WIFI环境下,0为不限制网络环境。
            List <String> appIdList = new List <string>();

            appIdList.Add(APPID);

            //通知接收者的手机操作系统类型
            List <String> phoneTypeList = new List <string>();

            phoneTypeList.Add("ANDROID");
            //phoneTypeList.Add("IOS");
            //通知接收者所在省份
            List <String> provinceList = new List <string>();
            //provinceList.Add("浙江");
            //provinceList.Add("上海");
            //provinceList.Add("北京");

            List <String> tagList = new List <string>();

            //tagList.Add("开心");

            message.AppIdList     = appIdList;
            message.PhoneTypeList = phoneTypeList;
            message.ProvinceList  = provinceList;
            message.TagList       = tagList;


            String pushResult = push.pushMessageToApp(message);

            System.Console.WriteLine("-----------------------------------------------");
            System.Console.WriteLine("服务端返回结果:" + pushResult);
        }
Exemple #26
0
        /// <summary>
        /// 推送单个用户
        /// </summary>
        /// <param name="template">模板内容</param>
        public string PushSingle(ITemplate template)
        {
            IGtPush       push    = new IGtPush("", APPKEY, MASTERSECRET);
            SingleMessage message = new SingleMessage();

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

            target.appId    = APPID;
            target.clientId = CLIENTID[0];
            return(push.pushMessageToSingle(message, target));
        }
Exemple #27
0
        //PushMessageToList接口测试代码
        public static string PushMessageToList(List <string> cidList, string title, string messageText)
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            ListMessage message = new ListMessage();

            /*消息模版:
             *   1.TransmissionTemplate:透传功能模板
             *   2.LinkTemplate:通知打开链接功能模板
             *   3.NotificationTemplate:通知透传功能模板
             *   4.NotyPopLoadTemplate:通知弹框下载功能模板
             */

            //TransmissionTemplate template =  TransmissionTemplateDemo();
            NotificationTemplate template = NotificationTemplateDemo(title, messageText);;

            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();

            message.IsOffline         = false;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;      // 离线有效时间,单位为毫秒,可选
            message.Data = template;

            //设置接收者
            List <com.igetui.api.openservice.igetui.Target> targetList = new List <com.igetui.api.openservice.igetui.Target>();

            for (int i = 0; i < cidList.Count; i++)
            {
                com.igetui.api.openservice.igetui.Target target1 = new com.igetui.api.openservice.igetui.Target();
                target1.appId    = APPID;
                target1.clientId = cidList[i];

                // 如需要,可以设置多个接收者
                //com.igetui.api.openservice.igetui.Target target2 = new com.igetui.api.openservice.igetui.Target();
                //target2.AppId = APPID;
                //target2.ClientId = "ddf730f6cabfa02ebabf06e0c7fc8da0";

                targetList.Add(target1);
                //targetList.Add(target2);
            }

            string contentId  = push.getContentId(message);
            string pushResult = push.pushMessageToList(contentId, targetList);

            //System.Console.WriteLine("-----------------------------------------------");
            //System.Console.WriteLine("服务端返回结果:" + pushResult);
            return(pushResult);
        }
Exemple #28
0
        /// <summary>
        /// 给多个用户发送推送(DEMO)
        /// </summary>
        private static void PushMessageToList()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            ListMessage message = new ListMessage();

            /*消息模版:
             *   1.TransmissionTemplate:透传功能模板
             *   2.LinkTemplate:通知打开链接功能模板
             *   3.NotificationTemplate:通知透传功能模板
             *   4.NotyPopLoadTemplate:通知弹框下载功能模板
             */

            TransmissionTemplate template = TransmissionTemplateDemo();

            //NotificationTemplate template =  NotificationTemplateDemo();
            //LinkTemplate template = LinkTemplateDemo();
            //NotyPopLoadTemplate template = NotyPopLoadTemplateDemo();
            template.TransmissionContent = "测试";

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

            //设置接收者
            List <com.igetui.api.openservice.igetui.Target> targetList = new List <com.igetui.api.openservice.igetui.Target>();

            com.igetui.api.openservice.igetui.Target target1 = new com.igetui.api.openservice.igetui.Target();
            target1.appId = APPID;
            //target1.clientId = CLIENTID;
            target1.clientId = CLIENTID;

            // 如需要,可以设置多个接收者
            com.igetui.api.openservice.igetui.Target target2 = new com.igetui.api.openservice.igetui.Target();
            target2.appId = APPID;
            //target2.clientId = "f563cffaba68587e7ff2f23110f6defd";
            target2.clientId = CLIENTID;

            targetList.Add(target1);
            targetList.Add(target2);

            String contentId  = push.getContentId(message, "ToList_任务组名");
            String pushResult = push.pushMessageToList(contentId, targetList);

            System.Console.WriteLine("-----------------------------------------------");
            System.Console.WriteLine("服务端返回结果:" + pushResult);
        }
Exemple #29
0
        //pushMessageToApp接口测试代码
        private static void pushMessageToApp()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            AppMessage message = new AppMessage();

            //通知模版:支持TransmissionTemplate、LinkTemplate、NotificationTemplate,此处以LinkTemplate为例
            LinkTemplate template = new LinkTemplate();

            template.AppId   = APPID;                                                 //应用APPID
            template.AppKey  = APPKEY;                                                // 应用APPKEY
            template.Title   = "toAPP消息";                                             // 通知标题
            template.Text    = "toAPP消息";                                             // 通知内容
            template.Logo    = "icon.png";                                            // 通知Logo
            template.LogoURL = "http://www.photophoto.cn/m23/086/010/0860100017.jpg"; //通知栏网络图片展示
            template.Url     = "http://www.baidu.com";                                // 跳转地址
            //template.IsRing = true;					// 收到通知是否响铃,可选,默认响铃
            //template.IsVibrate = true;					// 收到通知是否震动,可选,默认振动
            //template.IsClearable = true;				// 通知是否可清除,可选,默认可清除

            message.IsOffline         = true;                 // 用户当前不在线时,是否离线存储,可选
            message.OfflineExpireTime = 1000 * 3600 * 12;     // 离线有效时间,单位为毫秒,可选
            message.Data = template;

            List <String> appIdList = new List <string>();

            appIdList.Add(APPID);

            List <String> phoneTypeList = new List <string>();    //通知接收者的手机操作系统类型

            phoneTypeList.Add("ANDROID");
            //phoneTypeList.Add("IOS");

            List <String> provinceList = new List <string>();     //通知接收者所在省份

            //provinceList.Add("浙江");
            //provinceList.Add("上海");
            //provinceList.Add("北京");

            message.AppIdList     = appIdList;
            message.PhoneTypeList = phoneTypeList;
            message.ProvinceList  = provinceList;

            String pushResult = push.pushMessageToApp(message);

            System.Console.WriteLine("-----------pushMessageToApp--------------" + pushResult);
        }
Exemple #30
0
        //PushMessageToList接口测试代码推送

        //安卓推送
        public static void PushMessageToList(string title, string text, string transmissioncontent, string iconUrl, List <string> pushChannels)
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            ListMessage message = new ListMessage();

            /*消息模版:
             *   1.TransmissionTemplate:透传功能模板
             *   2.LinkTemplate:通知打开链接功能模板
             *   3.NotificationTemplate:通知透传功能模板
             *   4.NotyPopLoadTemplate:通知弹框下载功能模板
             */
            NotificationTemplate template = NotificationTemplateDemo();

            template.Title               = title;
            template.Text                = text;
            template.Logo                = "icon.png";
            template.LogoURL             = iconUrl;
            template.TransmissionContent = transmissioncontent;

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

            //设置接收者
            List <com.igetui.api.openservice.igetui.Target> targetList = new List <com.igetui.api.openservice.igetui.Target>();

            for (int i = 0; i < pushChannels.Count; i++)
            {
                string clientId = pushChannels[i];
                if (!string.IsNullOrEmpty(clientId))
                {
                    // 如需要,可以设置多个接收者
                    com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
                    target.appId    = APPID;
                    target.clientId = clientId;
                    //target1.alias = ALIAS;
                    targetList.Add(target);
                }
            }

            String contentId  = push.getContentId(message, "msgpush");
            String pushResult = push.pushMessageToList(contentId, targetList);
        }