专访友盟技术大牛:Android平台的消息推送实践
发表于 2012-07-18 09:58:25

编者按:iOS/Android训练营将于7月27日、7月28日在北京新云南皇冠假日酒店举行。为了做到不坑爹,无水货,本次大会主要针对iOS和Android的一线技术和开发人员。在大会开幕之前的这段时间,我们将采访一些重头的讲师和神秘的开发者们,提前剧透一些精彩内容。本期我们专访的嘉宾是友盟资深安卓开发工程师 徐仙明。

讲师简介:徐仙明,友盟资深安卓开发工程师,主要负责友盟交换产品SDK端开发工作。兴趣包括:Android应用开发,移动互联网平台上的大数据分析和挖掘,机器学习,移动平台安全性等。

话题简介:作为移动应用开发的一个重要需求,微软和苹果公司分别为iOS和Windows Phone平台应用开发者提供了很好的消息推送解决方案。实际上Google也为Android平台提供了C2DM的解决方案供开发者使用, 但是由于多方面的原因,Android开发者在国内使用C2DM有诸多困难。对于这个普遍存在的问题,本次演讲将和大家一起探讨可能的替代方案。通过对这些方式优缺点的剖析和比较,带给开发者一些方向上的建议,帮助开发者选择适合自身需求和条件的方案。

图:友盟资深安卓开发工程师 徐仙明

编辑:请您先讲讲,为什么要在本届大会上讲“消息推送”这样一个主题?

徐仙明:先讲PUSH本身,像苹果或者说Windows Phone,这个东西在各个平台上都会有。在iPhone和WP来说,iPhone本身提供了这种机制,手机和硬件都是他产的。所以他不会像Android说系统是Google产的,然后硬件是各个厂商去产的,所以他会改那个系统。对于iPhone和WP就没这个问题,所以像Google他其实也提供了这样的机制,叫C2DM的一个交易控制的机制。但是这个就是Google自己的,它就不属于Android开源的那东西,两个是独立的一个东西。而且那东西是从Android的2.2版本之后提供的。因为Android本身是开源的,但是CDM那东西是属于Google的,所以这两个东西其实是相对独立的。

不像在iPhone或者是WP里面,他把硬件系统集成在一块了。所以对于应用开发者来说,我在Android系统上开发一个应用要用这个东西,我用Google其实相当于说用一个第三方的东西,因为对于不同的这种硬件厂商平台,比如摩托罗拉、华为、中兴做一个手机,他有可能会把Google的这种服务去掉,尤其像在国内就很多这种,把Google这种原生的服务去掉。买了一些像什么山寨机或者是华为这种国产机,可能Google的服务就没有了。像在国外出的那些可能会内置。

编辑:目前消息推送还有其他的一些解决方案吗?

徐仙明:还有一些另外的东西,比如在国内Google这个服务也经常不是很稳定,经常访问的话,对于开发者来说,这个服务可靠性不是那么好,很难去达到他们的要求。所以对应用开发者来说,这个东西他有很多的限制,在国内来说,这个东西就有一定的技术壁垒,就是说你自己去做开发者自身去搭这种消息通知服务的话,对于客户端来说还好。但是对于他最重要的那份工作在服务器端,是一个很大的工程,所以是一个非常非常复杂的东西。那国内暂时也没有非常好的第三方能提供这个服务。

另外在手机端,手机端现在设备相对来说电池什么的性能都会上升一点,比如去年或者前年,这个东西就是说要求和系统的集成性非常高,因为它需要达到一个省电,还有这种省资源的目的,然后就决定了你在国内这个东西就很难做。即使说如果应用本身去做的话,成本会非常高,尤其像这种小应用,不太可能自己去实现那个东西。所以造成的结果就是这里面没有很好的解决方案,除了像腾讯,他们有相对来说比较成熟的这种情况。但是也只能给他们自己的东西用。

编辑:问题是存在的,解决方案是有的。你给开发者的答案是什么?

徐仙明:因为对于不同的应用,其实它的需求不太一样,而且看应用大小,比如说腾讯类的应用,他非常大,他其实是可以自己去做的,就是大不了自己去做。然后像一些小应用,他这种门槛就会很高,他自己去做的成本就会很高,所以他最好能够去找一些第三方的服务,但是目前国内还没有特别好的。如果他能忍受Google服务的不可靠性,他也会去用Google的。对于小应用来说,他可能在一定程度、范围内,他是可以接受的。还有一些可能量稍微大一些的应用,他本身的技术什么也会不错,他能接受的成本也会相对来说比较高,那他其实是可以自己去实现一套那样的东西。还是说对于不同的这种应用的开发者或者不同应用的开发公司,他会有不同的解决办法,就是他会找到适合一个自己的。

对于中型的这种可能有纳克逊做自己的解决方案的这种公司,可能他有一个比较好的社会方向去努力,然后有一些现成的一些解决方案可以去供参考,可能会把一些开源的平台移植到他们产品上面。事实上有90%的工作,Apple已经帮你做了。

编辑:友盟会推出自己的消息推送服务供开发者使用吗?

徐仙明:这个还是要看市场的需求。如果友盟能够提供给开发者这样的应用,对开发者来说使用起来会更方便。

我们的SDK按产品会分为很多种不同的东西,因为移动平台上像统计、分析这一类的是他的基本需求,还有像应用联盟是作为APP推广的一个需求。那还有其他产品,如果我们出了PUSH,它是算做一种服务,或者是一种产品。其实就是说,我们会把我们的服务尽量覆盖的面更广。

编辑:你们开发的不同功能的SDK会有很多吗?友盟SDK在未来得时候还会有比较大的版本的迭代吗?

徐仙明:我们只有一套SDK。本身我们也会快速的去迭代他的,因为就帮助产品来说,它也会升级的速度比较快,因为细化来说,它会不断得有一些新的小的功能加进去,所以那个版本也不会断的去升级。

其实我觉得,对于个人的这种,比如个人开发者,或者说公司的这种对于他们的,你像前两年机会这么好。现在对于个人开发者来说,已经这种市场饱和度会前两年要小一些。但是对于企业这一部分,企业应用这一部分,其实他的市场还是非常大的,而且每个人会有不同的背景,其实他可以利用他自身的优势去做这些事情。尤其像刚才说的,本身的客户非常高端一些,可能需要一个给贴标签的这个东西,可能会更合适一些。想听更多的内容,请到我们的iOS/Android训练营大会上来吧。我将为你带来更多实现的细节和开发经验。

立即报名>>

本文为CSDN原创文章,未经允许不得转载。如需转载请联系market@csdn.net。

责任编辑:何清颖

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】