友盟推送 .NET (C#) 服务端 SDK rest api 调用库
该版本是基于友盟推送2.3版本封装的,网上查询了下发现没有.NET版本的调用库,官方也没有封装.NET的版本,只有python、java、php版本,您这又让.NET情何以堪啊,故分享一个简单易调用的版本分享给大家,本次封装的代码相比我封装的【信鸽推送】 简单很多,而且自由度很高,参数基本都是直接转json的实体,,需要根据友盟REST API http://dev.umeng.com/push/android/api-doc 去具体赋值,所以拿到源码的同学也很容易修改josn对象实体,调用对象只有2个方法
//同步提交
public ReturnJsonClass SendMessage(PostUMengJson paramsJsonObj)
//异步提交
public void AsynSendMessage(PostUMengJson paramsJsonObj, Action<ReturnJsonClass> callback)
怎么样够简单吧!!
调用推送之前首先得实例化主体推送对象
UMengMessagePush umPush = new UMengMessagePush("你的appkey", "你的appMasterSecret");
这样您可以把必须的2个配置放到web.config里面,或者其他配置,赋值给对象后,后续所有的推送都无需添加此2项参数
/// <summary>
/// 推送给所有用户
/// </summary>
[TestMethod]
public void TestPushByAllUser()
{
PostUMengJson postJson = new PostUMengJson();
postJson.type = "broadcast";
postJson.payload = new Payload();
postJson.payload.display_type = "notification";
postJson.payload.body = new ContentBody();
postJson.payload.body.ticker = "评论提醒";
postJson.payload.body.title = "您的评论有回复";
postJson.payload.body.text = "您的评论有回复咯。。。。。";
postJson.payload.body.after_open = "go_custom";
postJson.payload.body.custom = "comment-notify"; postJson.description = "评论提醒-UID:" + 123; postJson.thirdparty_id = "COMMENT"; ReturnJsonClass resu = umPush.SendMessage(postJson); //umPush.SendMessage(postJson, callBack); Assert.AreEqual(resu.ret, "SUCCESS", true);
}
/// <summary>
/// 根据自定义用户ID推送
/// </summary>
[TestMethod]
public void TestPushByAlias()
{
PostUMengJson postJson = new PostUMengJson();
postJson.type = "customizedcast";
postJson.alias_type = "USER_ID";
postJson.alias = "";
postJson.payload = new Payload();
postJson.payload.display_type = "notification";
postJson.payload.body = new ContentBody();
postJson.payload.body.ticker = "评论提醒Alias";
postJson.payload.body.title = "您的评论有回复";
postJson.payload.body.text = "Alias您的评论有回复咯。。。。。";
postJson.payload.body.after_open = "go_custom";
postJson.payload.body.custom = "comment-notify"; postJson.thirdparty_id = "COMMENT"; postJson.description = "评论提醒-UID:" + ; //ReturnJsonClass resu = umPush.SendMessage(postJson); umPush.AsynSendMessage(postJson, callBack);
} private void callBack(ReturnJsonClass result)
{
ReturnJsonClass a1 = result;
}
https://github.com/jasnature/NSTool.UMengPush 源码对你有帮助的话,请给星星哟。
友盟推送 .NET (C#) 服务端 SDK rest api 调用库的更多相关文章
- 信鸽推送 .NET (C#) 服务端 SDK rest api 调用库(v1.2)
信鸽推送 .NET 服务端 SDK rest api 调用库-介绍 该版本是基于信鸽推送v2版本的时候封装的,先拿出来与大家分享,封装还还凑合,不依赖其他http调用件,唯一依赖json序列化dll ...
- 极光推送和友盟推送,ios端和安卓端的后端调试设置
我是最后端的,这两天搞了一个app项目,前端安卓使用友盟很方便,调试比较顺利,然后ios就遇到各种问题了,证书.发送成功推送不成功,测试时用的TestMode(),ios上架之后就必须用product ...
- 友盟推送里面的Alias怎么用?可以理解成账号吗?
友盟推送里面的Alias怎么用?可以理解成账号吗? 我们的App有自己的账号体系的,想在每次用户登陆的时候,给用户发一个欢迎消息. 看了一下友盟推送,里面有一个概念叫做Alias(别名),但是官方文档 ...
- java 集成友盟推送
原文:https://blog.csdn.net/Athena072213/article/details/83414743 最近应公司业务需求需要完善友盟推送,认真看了官方文档后其实很简单,只需要细 ...
- 使用极光/友盟推送,APP进程杀死后为什么收不到推送(转)
为什么会存在这样的 问题,刚开始的时候我也搞不清楚,之前用极光的时候杀死程序后也会收到推送,但最近重新再去集成时就完全不好使了,这我就纳闷了,虽然Google在高版本上的android上面不建议线程守 ...
- iOS集成友盟推送
之前有写过利用Python自己写一个推送服务器, 今天说下如果集成友盟的推送服务 在这之前我们需要做一些准备动作 #1. 注册一个App ID #2. Enable Push Notification ...
- 友盟推送SDK集成测试、常见问题以及注意事项总结
最近为了解决公司APP在一些手机出现的推送问题重新集成了最新版的友盟推送SDK,花费了几天时间终于把集成和测试工作完成,最终在华为,Nexus,三星,小米,HTC,魅族等10多部手机上测试并达到了预想 ...
- iOS app 集成友盟推送问题
之前做app推送主要是集成友盟SDK,在程序获取deviceToken时,老是提示如下错误: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用 ...
- AppDelegate减负之常用三方封装 - 友盟推送篇
之前分享过集成友盟推送的方法, 需要的朋友可以查看一下链接: http://www.cnblogs.com/zhouxihi/p/6533058.html 一般开发中我们比较多使用的三方有友盟推送, ...
随机推荐
- 微软压力测试工具 web application stress
转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...
- TinyFox/Jexus如何正确使用配置文件
一.阅读须知 1.TinyFox是什么 Tinyfox3.x 将支持多站点多域名 2.Jexus是什么 二.使用问题解答 * 问题1.发布Owin项目到Win/Centos系统下的TinyFox上时, ...
- Demo 版
Demo1 美食网站 Demo2 12301智慧旅游公共服务平台 Demo3 react_and_koa example
- SqlServer 常用函数
case .. when .. then .. else .. end
- html div 添加链接
<html> <body> <a href="http://www.w3school.com.cn/" target="_blank&quo ...
- telnet 传输文件
用python创建个临时服务器,发送文件供telnet访问 import socket import base64 port = 10005 filename = 'libcrypto.so.1.0. ...
- ES5新语法forEach和map及封装原理
### forEach 在es5中提供了forEach方法进行遍历,其实就是模仿了jQuery中each方法,不过将 i 于v进行了调换,下面两种方法进行对比一下 var arr = [ 11, 22 ...
- linux第二天
由于今天公司事情比较多,今天基本没有自学.了解了一下type命令:主要是显示命令类型的命令.linux命令分为内置命令和外部命令两种.内置命令就shell内置的命令,外部命令,就是需要有系统存在一个名 ...
- xpath定位中starts-with、contains和text()的用法
starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ...
- 纯 CSS 绘制图形(心形、六边形等)
<!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...