记录 视频广告sdk 的开发之路

好久没写博客了,因为最新半年公司开启了一个新的业务,视频广告sdk的开发。android 客户端由我一个人负责,压力山大大哭。不过,既然公司看得起我,敢让我一个人来负责,那我当然不能辜负公司的期望了。当然我也是有技术储备的,因为公司原本的业务就是游戏开发和插屏广告sdk开发的,所以也不是一无所有吧。

在开发过程中当然遇到很多坑,比如调用系统播放器来播放视频就遇到很多问题,虽然网上有很多资料,但是都是不成熟的,都是有bug的代码。能播放,但是有很多问题没有考虑到。比如按了  home键后,视频应该停止,重新回来后应该可以继续播放等等一些问题,这些都是需要自己去解决的。另外因为是调用系统播放器,有时候会出现一些很底层的问题,都是系统播放器抛出来的。比如视频格式有问题,另外Mediaplayer这个对象需要严格按照时序来,不然都会报错。


另外经过这半年的走过的坑,越来越觉得实现代码功能很容易,但是要设计出合理的框架,代码逻辑清晰确实需要花时间去思考的。现在每加一个功能,更多的时间会花在如何设计更合理,以方便后面各种扩展,以及逻辑修改。我会尽量把每一个大的功能点都分成一个模块,并且会 有一个这个模块的管理类来和其他模块交互,这样代码比较容易维护,思路也比较清楚。比如 任何开发都少不了数据库操作,我会有有一个叫做DbManager的管理类来处理各种数据库操作,其他模块用到数据库处理的都需要通过这个类来调用。并且这个管理类,我都会把它实现为单例模式,方便管理,并且也不会造成不必要的内存消耗,虽然java会自己回收内存,但是作为C++出身的我,对内存的使用还是比较看重的,并且对于android手机来说,内存不想电脑那么大,更需要我们好好用。

另外一个坑就是接口设计,因为我们做的是sdk,所以就需要提高接口给开发者来调用我们的Api.这个接口参数的设计需要合理,不然后面需要修改参数就比较麻烦,你就需要兼容老版本,会不会报错崩溃的。所以接口参数的设计需要比较好的考虑到各种逻辑。当然,有人说,功能不断加,需求不断的 变,很多时候也不得不变,确实是这样,但是我总结一个方法,不管你做什么sdk,你可以参考目前市场上做的比较成熟的sdk,的参数设计,到后面你会发现,他们的参数设计都是开发者比较认可和需要。因为我们刚开始没有去参数,就是自己做了需求分析,结果随着开发这的不断反馈和功能的不断增加和需求的不断变更,发现接口的设计所需要的参数和哪些成熟的sdk基本是一样,所以参考市面上比较的成熟的sdk可以让你少走很多弯路。


现在视频广告sdk的日活已经突破了100万,也已经和很多知名的游戏开发者合作上了。没想到我自己一个人开发的客户端也终于达到了100万的日活,这对自己是一个很大的肯定,当然自己也得到很大成长。


大家如果有什么问题,都可以交流下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章