示例#1
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);
            }
        }
示例#2
0
        private static bool PushMsgToSingleDevice(string clientid, ITemplate msgTemplate)
        {
            bool result = false;

            try
            {
                IGtPush       gtPush        = new IGtPush(Push.HOST, Push.APPKEY, Push.MASTERSECRET);
                IBatch        batch         = gtPush.getBatch();
                SingleMessage singleMessage = new SingleMessage();
                singleMessage.IsOffline         = true;
                singleMessage.OfflineExpireTime = 2073600000L;
                singleMessage.Data = msgTemplate;
                Target target = new Target();
                target.appId    = Push.APPID;
                target.clientId = clientid;
                batch.add(singleMessage, target);
                try
                {
                    Push.errorMsg = batch.submit();
                    JsonData jsonData     = MyCommon.JsonStrToObj(Push.errorMsg);
                    string   jsonObjValue = MyCommon.getJsonObjValue(jsonData, "result");
                    if (jsonObjValue.ToLower() == "ok")
                    {
                        result = true;
                    }
                }
                catch (Exception ex)
                {
                    Push.errorMsg = batch.retry();
                    JsonData jsonData2     = MyCommon.JsonStrToObj(Push.errorMsg);
                    string   jsonObjValue2 = MyCommon.getJsonObjValue(jsonData2, "result");
                    if (jsonObjValue2.ToLower() == "ok")
                    {
                        result = true;
                    }
                    Push.errorMsg += ex.Message;
                }
            }
            catch (Exception ex2)
            {
                Push.errorMsg += ex2.Message;
            }
            return(result);
        }