思路:

  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. Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler

    上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK>我们讲述了如何使用Senparc.Weixin.MP SDK ...

  2. Java-小练习简单银行程序

    2练习1:创建一个简单的银行程序包   练习目标-Java 语言中面向对象的封装性及构造器的使用. 任务 在这个练习里,创建一个简单版本的(账户类)Account类.将这个源文件放入banking程序 ...

  3. Android开发小问题总结

    Android开发遇到的小问题之小解: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  4. JQuery学习之Ajax应用

    1.AJAX=异步javaScript和XML:在不重载整个网页的情况下,AJAX通过后台加载数据,并在网页上进行显示 2.load():简单但强大的AJAX方法,load()方法从服务器加载数据,并 ...

  5. TSQL order by 子句中排序列的多种写法

    Order by 子句用于对结果进行排序,执行顺序位于select子句之后,排序列有4中写法: column_name column_alias,由于order by子句的执行顺序位于select子句 ...

  6. SQL Server 2012 T-SQL 新特性

    序列 Sequence SQL Server 现在将序列当成一个对象来实现,创建一个序列的例子语法如下: CREATE SEQUENCE DemoSequence START WITH 1 INCRE ...

  7. php的mysql\mysqli\PDO(一)mysql

    原文链接:http://www.orlion.ga/1140/ 工作中数据库的操作都被封装好了,这些怎么用的都快忘了干脆写篇博客重新复习下,以后要是再忘记了可以看这篇文章. PHP 5.5.0 起已废 ...

  8. Android开发常用属性

    1.android string.xml 文字中间加入空格 android string.xml前后加空格的技巧 <string name="password">密   ...

  9. 苹果官方发布,iPhone 6 & Plus 设计素材

    苹果发布 iPhone 6 和 iPhone 6 Plus 有一段时间了,据说首日预定量达到了创纪录的1600万部,真是不可思议.苹果已经创建了一些指引,让开发者可以受益.他们已经发布了一组苹果官方的 ...

  10. jQuery.Deferred 源码分析

    作者:禅楼望月(http://www.cnblogs.com/yaoyinglong ) 1 引子 观察者模式是我们日常开发中经常用的模式.这个模式由两个主要部分组成:发布者和观察者.通过观察者模式, ...