思路:

  1、公司有项目需要做android和ios手机端推送消息的功能;

  2、没有接触过这方面的知识,一头雾水,开始在网上一顿搜,网上倒是有不少解决方案,首先搜的是android的解决方案,因为ios我们自己搭的有服务了(Java),见其中一篇文章 《[移动] Android推送方案分析(MQTT/XMPP/GCM)》,使用MQTT倒是不错的选择,但是服务端是PHP的,我只会C#...由于时间比较急,只好作罢,看来以后得多学点语言了;

  3、然后就把精力集中到C#的服务端,倒是找到一个开源的项目PushSharp,项目也下载下来了,就开始学习怎么用,网上关于这个项目的资料很少,没办法只能硬着头皮看他们的官方文档(英文的,真心D疼啊),还有少的可怜的相关资料,后来了解到这个项目推送Android的是采用google的GCM技术,这个需要经过google的服务器才能推送,在天朝你懂得,不过这个项目也有ios、kindle等一些其他终端的推送,感觉挺不错的,以后有时间得研究一下;

  4、实在没办法就问同事之前的项目是怎样推送的,同事说之前的项目都是使用第三方提供的服务。其实我不太愿意使用第三方的,很多东西都有限制,不过现在也没辙了,只怨技术不精了。在网上找了几个推荐的推送服务:百度推送、个推、极光推送,比较来比较去,最终还是选择了百度推送,首先感觉百度在网上提供的文档内容还是相对丰富的,最重要的是有c#服务端SDK,在这里特别感谢 郭振-子易 提供的代码https://github.com/xiariqingquan/BaiduPushAspxServer,我就是在这个上面修改完成项目所需;

  5、废话不多说,进入正题。

 实现代码:

  1、因为项目需要,在郭振-子易提供的代码基础上,改版成WebService服务的形式,对外提供接口;

  2、除了推送消息的原有功能外,又添加了设置标签、删除标签两个功能;

  3、使用log4net进行错误日志的记录;

  4、目前已完成android的测试,可以正常推送消息,ios因在百度推送上传证书验证失败,没有测试,代码放在github上 https://github.com/hdkn235/BaiduPush,就不在这里展示了,有盗用版权嫌疑(版权归郭振-子易 所有)。

注意事项:

  1、要使用本项目,首先需要注册百度的开发者服务(需要手机验证,而且手机只能验证一次,我想申请个公司用的都不行,擦),然后创建一个应用,获得API key 和Secret key后,修改web.config对应的值就可以使用了。

  2、测试时手机端使用的是百度云推送生成的一个Demo,这个可以在推送设置中添加应用名即可获得测试的示例。

总结:

  经过这几天的折腾,感觉百度的东西不是很难用,免费的做成这样已经很不错了,有点遗憾的是ios的证书认证太不靠谱,我同事按照百度的教程一步步的制作证书,死活是验证不过,我同事之前也说过用百度的推送从来没成功过。。。,网上这方面的资料也很少,不知道是不是很少人用。以后有时间自己搭建一个服务心里才踏实点。

  

百度云推送-服务端 C# SDK的更多相关文章

  1. android开发(25) - 推送的实现,使用百度云推送

    什么叫推送? 中文名称:推送 英文名称:push 定义:描述因特网内容提供者和因特网用户之间工作方式的术语.“推送”指因特网内容提供者定期向预订用户“提供”数据. 项目中有可能会用到推送.如果自己写一 ...

  2. Android推送服务——百度云推送

    一.推送服务简介 消息推送,顾名思义,是由一方主动发起,而另一方与发起方以某一种方式建立连接并接收消息.在Android开发中,这里的发起方我们把它叫做推送服务器(Push Server),接收方叫做 ...

  3. 使用【百度云推送】第三方SDK实现推送功能具体解释

    之前介绍过怎样使用shareSDK实现新浪微博分享功能,今天介绍怎样使用百度云推送SDK实现Android手机后台推送功能. 执行效果例如以下 第一步,假设使用百度的SDK,当然要先成为百度的开发人员 ...

  4. 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push

    iPhone使用apple push很方便,而Android很多厂商删除了google push,而且google在大陆连不上,所以要用别的办法. Android常见的推送服务商有:极光推送(http ...

  5. Java端百度云推送消息Demo

    因为在做Java服务器有用到推送消息机制,于是到网上找了一下,就自己试着敲了一个demo.这个demo主要是简单的一个对app消息推送. jar:百度云消息推送Java端的jar. package x ...

  6. App之百度云推送

    集成SDK 下载最新的Android SDK压缩包并解压,在新建工程或已有工程中增加百度云推送功能. 我下载的是 ,里面有一个同名的文件夹,文件夹中有 导入云推送jar包和so文件: 将解压后的lib ...

  7. 百度云推送的Java实现

    推送现在基本APP都有,项目中要通知和消息,所以综合考虑用了百度云推送 Java实现步骤: 1. 下载 http://push.baidu.com/sdk/push_server_sdk_for_ja ...

  8. Android推送 百度云推送 入门篇

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/27231237 现在app基本都有推送的功能,于是看了下百度云的推送,官方文档和D ...

  9. 消息推送之百度云推送Android集成与使用方法

    这两天由于项目需要,研究了一下百度云推送,本来这事没什么多大工作量的,但注册百度开发者账户创建应用令我蛋疼菊紧了好一阵,这些东西做了对技术没啥提升,不做又不行,必经之路.好在我耗费了N多个毫毫秒秒后稀 ...

随机推荐

  1. tr

    参照http://www.cnblogs.com/djcsch2001/archive/2011/05/08/2040255.html tr -options set1 [set2] ---- set ...

  2. 锋利的JQuery —— 选择器

    图片猛戳链接

  3. Atitit 图像处理知识点  知识体系 知识图谱v2

    Atitit 图像处理知识点  知识体系 知识图谱v2 霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像 ...

  4. vue.js学习之入门实例

    之前一直看过vue.js官网api,但是很少实践,这里抽出时间谢了个入门级的demo,记录下一些知识点,防止后续踩坑,牵扯到的的知识点:vue.vue-cli.vue-router.webpack等. ...

  5. IOS笔记045-UIDatePicker和UIPickerView

    这是两种可以上下滚动的控件. 这是UIDatePicker,可以显示日期和时间. 这个是UIPickerView,显示类似几个选择项的界面. 注意点:PickerView的高度不能改,默认162,Pi ...

  6. KnockoutJS 3.X API 第四章 数据绑定(2) 控制流foreach绑定

    foreach绑定 foreach绑定主要用于循环展示监控数组属性中的每一个元素,一般用于table标签中 假设你有一个监控属性数组,每当您添加,删除或重新排序数组项时,绑定将有效地更新UI的DOM- ...

  7. Redis在win7上的可视化应用

    Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  8. Sparse Filtering 学习笔记(一)网络结构与特征矩阵

      Sparse Filtering 是一个用于提取特征的无监督学习算法,与通常特征学习算法试图建模训练数据的分布的做法不同,Sparse Filtering 直接对训练数据的特征分布进行分析,在所谓 ...

  9. Spring应用教程-2 方法注入

    作者:禅楼望月(http://www.cnblogs.com/yaoyinglong) 我们通常使用lookup方法注入,它可使Spring替换一个Bean的抽象或具体方法,返回查找容器中,其他Bea ...

  10. JS网页顶部弹出可关闭广告图层

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...