信鸽推送 .NET (C#) 服务端 SDK rest api 调用库(v1.2)
该版本是基于信鸽推送v2版本的时候封装的,先拿出来与大家分享,封装还还凑合,不依赖其他http调用件,唯一依赖json序列化dll。
网上有一些封装的调用库,但是都不是自己喜欢的调用方式和封装风格,官方更没有封装.NET的版本,只有python、java、php版本,您让.NET情何以堪啊,
故咱们也来封装一个.
温馨提示:该版本是2014-8月份左右封装的,现在信鸽加了很多功能,但是存在的功能是不影响的,只需要下载源码,实体类加些参数加几个调用方法既可。
【推送所有设备】
QQXGProvider qqxg = new QQXGProvider();
XGPushAllDeviceParam xgp = new XGPushAllDeviceParam();
xgp.Timestamp = null; //1299865775;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//实际key请使用实际的,下面仅演示作用
//============测试key1==============
xgp.Access_id = ;
//xgp.Access_Key = "ARQ4CB14Q92X";
xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试key2==============
//xgp.Access_id = 2100025346;
//xgp.Access_Key = "AUP1I5W741WJ";
//xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Message_type = ;
xgp.Expire_time = ;
xgp.Message = new NotifyMessage()
{
Custom_content = new SerializableDictionary<string,string>(){
{"type",""},{"type1",""}
},
//Accept_time = new System.Collections.Generic.List<AcceptTime>(){
// new AcceptTime(){ Start=new XGTime(){ Hour="18", Min="02"}, End=new XGTime(){ Hour="18", Min="30"}}
//},
Clearable = ,
Title = "XGTestAllDevice-50%",
Content = "有中文10%,人们有1%以及,$abcdef", //中文测试
Vibrate = ,
Ring = ,
Action = new NotifyMessageAction()
{
Action_type = ,
Browser = new NotifyMessageAction_Browser()
{
Url = "http://baidu.com",
Confirm =
},
Intent = "http://baidu.com",
Activity = "XGPushDemo"
}
}; XGResult<XGPushResult> a = qqxg.PushAllDevices(xgp);
【单个 Device_token 的手机设备】
QQXGProvider qqxg = new QQXGProvider();
XGPushSingleDeviceParam xgp = new XGPushSingleDeviceParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "ARQ4CB14Q92X";
xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
//xgp.Access_id = 2100025346;
//xgp.Access_Key = "AUP1I5W741WJ";
//xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Message_type = ;
xgp.Message = new NotifyMessage()
{
Title = "XGTestSingleDevice",
Content = "XGTestSingleDevice",
Vibrate =
};
xgp.Device_token = "ef8d1c5b866652d14e62bbee2aac3b28b7ed2bf9";
//POSTopenapi.xg.qq.com/v2/push/all_deviceaccess_id=2100025233timestamp=1399859926valid_time=6006ae193c85570ad1cc8fc9540560093b1
XGResult<string> a = qqxg.PushSingleDevice(xgp);
单个Device_token设备
【单个账户、按标签推送、获取消息状态,获取应用添加的设备数,查询标签,取消定时发送的任务】
QQXGProvider qqxg = new QQXGProvider();
XGPushSingleAccountParam xgp = new XGPushSingleAccountParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Message_type = ;
xgp.Message = new NotifyMessage()
{
Title = "XGTestSingleAccount",
Content = "XGTestSingleAccount",
Vibrate = ,
Ring =
};
xgp.Account = "ffff";
//POSTopenapi.xg.qq.com/v2/push/all_deviceaccess_id=2100025233timestamp=1399859926valid_time=6006ae193c85570ad1cc8fc9540560093b1
XGResult<string> a = qqxg.PushSingleAccount(xgp);
单个账户
QQXGProvider qqxg = new QQXGProvider();
XGPushTagsDeviceParam xgp = new XGPushTagsDeviceParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Message_type = ;
xgp.Message = new NotifyMessage()
{
Title = "XGTestTagsDevice",
Content = "XGTestTagsDevice",
Vibrate = ,
Ring =
};
xgp.Tags_list = new System.Collections.Generic.List<string>();
xgp.Tags_list.Add("nature");
xgp.Tags_op = "OR";
//POSTopenapi.xg.qq.com/v2/push/all_deviceaccess_id=2100025233timestamp=1399859926valid_time=6006ae193c85570ad1cc8fc9540560093b1
XGResult<XGPushResult> a = qqxg.PushTagsDevice(xgp);
string a1 = a.Err_msg;
按标签推送
QQXGProvider qqxg = new QQXGProvider();
XGPushGetMsgStatusParam xgp = new XGPushGetMsgStatusParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Push_ids = new System.Collections.Generic.List<Push_Id_Obj>();
xgp.Push_ids.Add(new Push_Id_Obj() { Push_id = "" });
xgp.Push_ids.Add(new Push_Id_Obj() { Push_id = "" });
xgp.Push_ids.Add(new Push_Id_Obj() { Push_id = "" });
XGResult<XGGetMsgStatusResult> a = qqxg.PushGetMsgStatus(xgp);
获取消息状态
QQXGProvider qqxg = new QQXGProvider("application");
XGPushGetAppDeviceNumParam xgp = new XGPushGetAppDeviceNumParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
XGResult<XGDeviceNumResult> a = qqxg.GetAppDeviceNum(xgp);
应用添加的设备数
QQXGProvider qqxg = new QQXGProvider("tags");
XGPushQueryAppTagsParam xgp = new XGPushQueryAppTagsParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
XGResult<XGQueryAppTagsResult> a = qqxg.QueryAppTags(xgp);
查询标签
QQXGProvider qqxg = new QQXGProvider();
XGOtherCommonParam xgp = new XGOtherCommonParam();
xgp.Timestamp = null;
xgp.Valid_time = ; //600;
xgp.Sign = null;
//============测试DEMO==============
//xgp.Access_id = 2100025233;
//xgp.Access_Key = "ARQ4CB14Q92X";
//xgp.Secret_Key = "6ae193c85570ad1cc8fc9540560093b1";
//============测试DEMO==============
xgp.Access_id = ;
//xgp.Access_Key = "AUP1I5W741WJ";
xgp.Secret_Key = "f2391810bc98c0d7435ec7c96b8f524f";
xgp.Push_id = "";
XGResult<XGStatusResult> a = qqxg.PushCancelTimingTask(xgp);
取消定时发送的任务
https://github.com/jasnature/NSTool.XGPush 源码对你有帮助的话,请给星星哟。
信鸽推送 .NET (C#) 服务端 SDK rest api 调用库(v1.2)的更多相关文章
- 友盟推送 .NET (C#) 服务端 SDK rest api 调用库
友盟推送 .NET SDK rest api 介绍 该版本是基于友盟推送2.3版本封装的,网上查询了下发现没有.NET版本的调用库,官方也没有封装.NET的版本,只有python.java.php版本 ...
- 使用极光推送(www.jpush.cn)向安卓手机推送消息【服务端向客户端主送推送】C#语言
在VisualStudio2010中新建网站JPushAndroid.添加引用json帮助类库Newtonsoft.Json.dll. 在web.config增加appkey和mastersecret ...
- 极光推送Jpush(v3)服务端PHP版本的api脚本类
原文地址:http://www.dodobook.net/php/780 关于极光推送的上一篇文章已经说明了,此处就不多说了.使用v3版本的原因是v2使用到2014年年底就停止了.点击查看上一篇的地址 ...
- 极光推送Jpush(v3)服务端PHP版本集成(V3版本只调用推送API)
因为版本升级,极光推送的API也有了V3,功能也更丰富了,但是对于我们有的用户来说,我们还是只需要调用推送的API就够了. 下载了一份PHP服务端的SDK(下载地址:http://docs.jpush ...
- android手机推送视频到服务端
项目需求,android手机向服务器推送视频.苦战几个星期终于实现,现记录下来以免以后忘记. 没做过Java,也没做过Android开发,只能现学现卖.在网上找了下搭建开发a ndroid环境资料, ...
- 信鸽推送.NET SDK 开源
github 地址 https://github.com/yeanzhi/XinGePushSDK.NET 传送门如何安装 建议使用nuget安装包,搜索"信鸽"即可 ...
- QtAndroid具体解释(6):集成信鸽推送
推送是我们开发移动应用经经常使用到的功能,Qt on Android 应用也会用到,之前也有朋友问过,这次我们来看看怎么在 Qt on Android 应用中来集成来自腾讯的信鸽推送. 有关信鸽的 S ...
- 信鸽推送 10004,os文件配置出错,解决办法
信鸽推送注册失败 返回码 10004 是 os 配置出现问题 经过询问客服,得到以下解决办法 将SDK中的so文件复制下来 新建文件夹jniLibs,并将 so 配置文件粘贴进去 便可完成注册
- android app 集成 信鸽推送
推送其实挺中意小米推送的,并经用户群占比还是比较大的,奈何拗不过php后端哥们的选型,就只好用信鸽推送了,期间接入过程中也是遇到不少问题,所以记录下来,以后如果还是用信鸽推送的话,估计看看以前的博客, ...
随机推荐
- marked.js简易手册
marked.js简易手册 本文介绍的是marked.js.秉持"来之即用"的原则,对它进行简要的翻译和归纳, 安装 在网上引用或者是引用本地文件即可.要么就用命令行: npm i ...
- vim + ctags + taglist配置和使用
vim +ctags + taglist ,ctags+cscope 安装配置和使用 内容:VIM下ctags和taglist的安装配置方法:一键安装 ctags和cscope的方法 :vim语法高亮 ...
- 原生javascript 实现 animate
原生javascript 实现 animate //animate function getstyle(obj,name){ if(obj.currentStyle){ return obj.curr ...
- Linux基础知识整理
一.基础知识 1.Linux简介 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件 ...
- QEMU 中的QOM分析
QOM (QEMU Object Model) 类对象的意义: 1:每个类型在系统中都只有且只有一个类对象 2:当系统中的某个类型的实例对象都被销毁了,那么系统就会销毁该类对象了 3:类对象的作用:负 ...
- easyui datagrid中 多表头方法总结
easyui datagrid中怎么设置表头成多行显示呢?其实很简单,就是给datagrid的columns属性设置成多个数组就行了.下面直接看例子吧,这是一个两行表头的,按照此方法,还可以设置三行表 ...
- apache 配置rewrite模块,URL中隐藏index.php
打开httpd.conf 去掉下面的井号 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 在网站根目录添加.htaccess Rew ...
- Geoserver+Tomcat+GeoWebCache搭建地图服务
依赖TomcatGeoserverGeoWebCache环境部署JDKTomcat服务器Geoserver配置GeoWebCache配置环境启动使用使用geowebcache进行切片 依赖 Tomca ...
- 安装sitecore数据库和客户端到本机
(提前先装好数据库和IIS) 安装教程下载:http://download.csdn.net/detail/qq1162195421/6436799 安装过程省略... 1.安装好之后,会自动在安装路 ...
- Ubuntu上Grafana 监控 Docker的技巧
导读 Grafana 是一个有着丰富指标的开源控制面板.在可视化大规模测量数据的时候是非常有用的.根据不同的指标数据,它提供了一个强大.优雅的来创建.分享和浏览数据的方式. 它提供了丰富多样.灵活的图 ...