思路:

  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. 在此记录一下SharpGL最初创建的程序

    在此记录一下SharpGL最初创建的程序.完整工程在此. /// <summary> /// The main form class. /// </summary> publi ...

  2. 虚拟化平台cloudstack(5)——参考资料

    虚拟化的几种方式 完全虚拟化: 半虚拟化: 硬件辅助虚拟化: 详细的内容可以看: http://pan.baidu.com/share/link?shareid=4134188256&uk=2 ...

  3. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  4. linux奇技淫巧

    用着用着就发现,linux的每个命令都是那么的深奥而富有技巧,实用而淫荡..真可谓奇技淫巧.... 初学的真不易掌握... http://www.cnblogs.com/include/archive ...

  5. ios NSLog常见使用

    NSLog常见输出格式 Table 1  Format specifiers supported by the NSString formatting methods and CFString for ...

  6. 几款开源的图形化Redis客户端管理软件

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/98.html?1455870209 Redis是一个超精简的基于内存的键值 ...

  7. Redis批量删除KEY的方法

    Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作. 代码如下: redis-cli keys “* ...

  8. 创建Cookie,简单模拟登录,记录登录名,购物车记录先前添加内容,session控制登录

     工作任务:模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站, ...

  9. Js 对 浏览器 的 URL的操作

    下面是一些实例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  10. HTML5 的 localStorage(本地数据库) 的用法

    判断浏览器是否支持localStorage可以使用下面的代码:if(window.localStorage){     alert("支持localStorage") }else{ ...