public HttpResponseMessage GetDescendants(TId id, long pageIndex = 0, int pageSize = 100) { var result = GetDescendantContent(id, pageIndex, pageSize); return(result == null ? Request.CreateResponse(HttpStatusCode.NotImplemented) : Request.CreateResponse(HttpStatusCode.OK, CreatePagedContentRepresentation( result, LinkTemplate.PagedDescendants(id), new { id = id }))); }
//pushMessageToApp接口测试代码 /// <summary> /// 对指定应用群推送 /// </summary> private static 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; LinkTemplate template = LinkTemplateDemo(); // 用户当前不在线时,是否离线存储,可选 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); }
private static LinkTemplate GetLinkTemplate(string title, string content, string linkurl) { LinkTemplate linkTemplate = new LinkTemplate(); linkTemplate.AppId = Push.APPID; linkTemplate.AppKey = Push.APPKEY; linkTemplate.Title = title; linkTemplate.Text = content; linkTemplate.Logo = ""; linkTemplate.LogoURL = Push.LOGOURL; linkTemplate.Url = linkurl; linkTemplate.IsRing = true; linkTemplate.IsVibrate = true; linkTemplate.IsClearable = true; return(linkTemplate); }
//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); }
//通知链接动作内容 public static LinkTemplate LinkTemplateDemo() { LinkTemplate template = new LinkTemplate(); template.AppId = APPID; template.AppKey = APPKEY; template.Title = "请填写通知标题"; //通知栏标题 template.Text = "请填写通知内容"; //通知栏内容 template.Logo = ""; //通知栏显示本地图片 template.LogoURL = ""; //通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空 template.Url = "http://www.baidu.com"; //打开的链接地址 template.IsRing = true; //接收到消息是否响铃,true:响铃 false:不响铃 template.IsVibrate = true; //接收到消息是否震动,true:震动 false:不震动 template.IsClearable = true; //接收到消息是否可清除,true:可清除 false:不可清除 return(template); }
public override int GetHashCode() { int hash = 1; if (Range.Length != 0) { hash ^= Range.GetHashCode(); } hash ^= unitKey_.GetHashCode(); if (Height != 0D) { hash ^= Height.GetHashCode(); } if (Label.Length != 0) { hash ^= Label.GetHashCode(); } if (CustomLabel.Length != 0) { hash ^= CustomLabel.GetHashCode(); } if (LinkTemplate.Length != 0) { hash ^= LinkTemplate.GetHashCode(); } if (LabelTemplate.Length != 0) { hash ^= LabelTemplate.GetHashCode(); } if (Rangemax != 0D) { hash ^= Rangemax.GetHashCode(); } if (Rangemin != 0D) { hash ^= Rangemin.GetHashCode(); } hash ^= Metadata.GetHashCode(); if (ShowKey != false) { hash ^= ShowKey.GetHashCode(); } return(hash); }
/// <summary> /// 通知链接模板 /// </summary> /// <param name="title">通知栏标题</param> /// <param name="text">通知栏内容</param> /// <param name="logo">通知栏显示本地图片</param> /// <param name="logoUrl">通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空</param> /// <param name="url">打开的链接地址</param> public string PushTemplate(int pushType, string title, string text, string logo, string logoUrl, string url) { LinkTemplate template = LinkTemplate(title, text, logo, logoUrl, url); switch (pushType) { case Enum_Push.Single: return(PushSingle(template)); case Enum_Push.Multiple: return(PushMultiple(template)); case Enum_Push.All: return(PushAll(template)); default: return("false"); } }
/// <summary> /// 通知链接动作内容 /// </summary> /// <param name="title">通知栏标题</param> /// <param name="text">通知栏内容</param> /// <param name="logo">通知栏显示本地图片</param> /// <param name="logoUrl">通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空</param> /// <param name="url">打开的链接地址</param> public LinkTemplate LinkTemplate(string title, string text, string logo, string logoUrl, string url) { LinkTemplate template = new LinkTemplate(); template.AppId = APPID; template.AppKey = APPKEY; template.Title = title; //通知栏标题 template.Text = text; //通知栏内容 template.Logo = logo; //通知栏显示本地图片 template.LogoURL = logoUrl; //通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空 template.Url = url; //打开的链接地址,如http://www.baidu.com //iOS推送需要的pushInfo字段 //template.setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage); template.IsRing = true; //接收到消息是否响铃,true:响铃 false:不响铃 template.IsVibrate = true; //接收到消息是否震动,true:震动 false:不震动 template.IsClearable = true; //接收到消息是否可清除,true:可清除 false:不可清除 return(template); }
//通知链接动作内容 /// <summary> /// 通知链接动作内容-IOS不推荐使用该模板 /// </summary> /// <param name="title"></param> /// <param name="content"></param> /// <returns></returns> public static LinkTemplate LinkTemplateDemo(string title, string content) { LinkTemplate template = new LinkTemplate(); template.AppId = APPID; template.AppKey = APPKEY; template.Title = title; //通知栏标题 template.Text = content; //通知栏内容 template.Logo = ""; //通知栏显示本地图片 template.LogoURL = ""; //通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空 template.Url = ""; //打开的链接地址 //iOS推送需要的pushInfo字段 //template.setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage); template.IsRing = true; //接收到消息是否响铃,true:响铃 false:不响铃 template.IsVibrate = true; //接收到消息是否震动,true:震动 false:不震动 template.IsClearable = true; //接收到消息是否可清除,true:可清除 false:不可清除 return(template); }
//PushMessageToList接口测试代码 /// <summary> /// 对指定列表用户推送 /// </summary> private static void PushMessageToList() { // 推送主类(方式1,不可与方式2共存) IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); // 推送主类(方式2,不可与方式1共存)此方式可通过获取服务端地址列表判断最快域名后进行消息推送,每10分钟检查一次最快域名 //IGtPush push = new IGtPush("",APPKEY,MASTERSECRET); ListMessage message = new ListMessage(); LinkTemplate template = LinkTemplateDemo(); // 用户当前不在线时,是否离线存储,可选 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>(); 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); }
private static String DeviceToken = ""; //填写IOS系统的DeviceToken /// <summary> /// 对单个用户的推送 /// </summary> /// <returns></returns> public static string PushMessageToSingle() { IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET); //消息模版:网页模板 LinkTemplate template = LinkTemplateDemo(); // 单推消息模型 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; //target.alias = ALIAS; try { string pushResult = push.pushMessageToSingle(message, target); return("发送成功" + pushResult); //System.Console.WriteLine("-----------------------------------------------"); //System.Console.WriteLine("-----------------------------------------------"); //System.Console.WriteLine("----------------服务端返回结果:" + pushResult); } catch (RequestException e) { string requestId = e.RequestId; //发送失败后的重发 string pushResult = push.pushMessageToSingle(message, target, requestId); return("失败重发" + pushResult); //System.Console.WriteLine("-----------------------------------------------"); //System.Console.WriteLine("-----------------------------------------------"); //System.Console.WriteLine("----------------服务端返回结果:" + pushResult); } }
/// <summary> /// 网页模板内容 /// </summary> /// <param name="Title">通知栏标题</param> /// <param name="Text">通知栏内容</param> /// <param name="Logo">通知栏显示本地图片</param> /// <param name="LogoURL">通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空</param> /// <param name="Url">打开的链接地址</param> /// <param name="IsRing">接收到消息是否响铃,true:响铃 false:不响铃 </param> /// <param name="IsVibrate">接收到消息是否震动,true:震动 false:不震动</param> /// <param name="IsClearable">接收到消息是否可清除,true:可清除 false:不可清除</param> /// <returns></returns> public static LinkTemplate LinkTemplate(string Title, string Text, string Logo, string LogoURL, string Url, bool IsRing, bool IsVibrate, bool IsClearable) { LinkTemplate template = new LinkTemplate(); template.AppId = APPID; template.AppKey = APPKEY; //通知栏标题 template.Title = Title; //通知栏内容 template.Text = Text; //通知栏显示本地图片 template.Logo = Logo; //通知栏显示网络图标,如无法读取,则显示本地默认图标,可为空 template.LogoURL = LogoURL; //打开的链接地址 template.Url = Url; //接收到消息是否响铃,true:响铃 false:不响铃 template.IsRing = IsRing; //接收到消息是否震动,true:震动 false:不震动 template.IsVibrate = IsVibrate; //接收到消息是否可清除,true:可清除 false:不可清除 template.IsClearable = IsClearable; return(template); }
public static bool SendLinkMsgToList(List <string> clientidlist, string title, string content, string linkurl) { LinkTemplate linkTemplate = Push.GetLinkTemplate(title, content, linkurl); return(Push.PushMsgToList(clientidlist, linkTemplate)); }
public static bool SendLinkMsgToSingle(string clientid, string title, string content, string linkurl) { LinkTemplate linkTemplate = Push.GetLinkTemplate(title, content, linkurl); return(Push.PushMsgToSingleDevice(clientid, linkTemplate)); }
public override bool Initialize(bool sortingEnabled, Control control) { ItemTemplate = new LinkTemplate(ID); SortExpression = ID; return(base.Initialize(sortingEnabled, control)); }