//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); }
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()); } }
/// <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); }
/// <summary> /// /// </summary> public static void getUserStatus() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); String ret = push.getClientIdStatus(APPID, CLIENTID); Console.WriteLine("用户状态:" + ret); }
//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); } }
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); }
public static void aliasUnBindAll() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); String ret = push.unBindAliasAll(APPID, ALIAS); System.Console.WriteLine(ret); }
public static void queryClientId() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); String ret = push.queryClientId(APPID, ALIAS); System.Console.WriteLine(ret); }
/// <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); }
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); } }
public static void queryAlias() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); String ret = push.queryAlias(APPID, CLIENTID); System.Console.WriteLine(ret); }
/// <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); }
/// <summary> /// 获取用户当前状态 /// </summary> /// <returns></returns> public string GetUserStatus() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); String ret = push.getClientIdStatus(APPID, CLIENTID[0]); return(ret); }
/// <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任务别名")); }
/// <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); }
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); }
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); }
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")); }
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); }
//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); }
//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); } }
/// <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); } }
//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); }
//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); }
//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); }
/// <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)); }
//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); }
/// <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); }
//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); }
//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); }