記錄 視頻廣告sdk 的開發之路

好久沒寫博客了,因爲最新半年公司開啓了一個新的業務,視頻廣告sdk的開發。android 客戶端由我一個人負責,壓力山大大哭。不過,既然公司看得起我,敢讓我一個人來負責,那我當然不能辜負公司的期望了。當然我也是有技術儲備的,因爲公司原本的業務就是遊戲開發和插屏廣告sdk開發的,所以也不是一無所有吧。

在開發過程中當然遇到很多坑,比如調用系統播放器來播放視頻就遇到很多問題,雖然網上有很多資料,但是都是不成熟的,都是有bug的代碼。能播放,但是有很多問題沒有考慮到。比如按了  home鍵後,視頻應該停止,重新回來後應該可以繼續播放等等一些問題,這些都是需要自己去解決的。另外因爲是調用系統播放器,有時候會出現一些很底層的問題,都是系統播放器拋出來的。比如視頻格式有問題,另外Mediaplayer這個對象需要嚴格按照時序來,不然都會報錯。


另外經過這半年的走過的坑,越來越覺得實現代碼功能很容易,但是要設計出合理的框架,代碼邏輯清晰確實需要花時間去思考的。現在每加一個功能,更多的時間會花在如何設計更合理,以方便後面各種擴展,以及邏輯修改。我會盡量把每一個大的功能點都分成一個模塊,並且會 有一個這個模塊的管理類來和其他模塊交互,這樣代碼比較容易維護,思路也比較清楚。比如 任何開發都少不了數據庫操作,我會有有一個叫做DbManager的管理類來處理各種數據庫操作,其他模塊用到數據庫處理的都需要通過這個類來調用。並且這個管理類,我都會把它實現爲單例模式,方便管理,並且也不會造成不必要的內存消耗,雖然java會自己回收內存,但是作爲C++出身的我,對內存的使用還是比較看重的,並且對於android手機來說,內存不想電腦那麼大,更需要我們好好用。

另外一個坑就是接口設計,因爲我們做的是sdk,所以就需要提高接口給開發者來調用我們的Api.這個接口參數的設計需要合理,不然後面需要修改參數就比較麻煩,你就需要兼容老版本,會不會報錯崩潰的。所以接口參數的設計需要比較好的考慮到各種邏輯。當然,有人說,功能不斷加,需求不斷的 變,很多時候也不得不變,確實是這樣,但是我總結一個方法,不管你做什麼sdk,你可以參考目前市場上做的比較成熟的sdk,的參數設計,到後面你會發現,他們的參數設計都是開發者比較認可和需要。因爲我們剛開始沒有去參數,就是自己做了需求分析,結果隨着開發這的不斷反饋和功能的不斷增加和需求的不斷變更,發現接口的設計所需要的參數和哪些成熟的sdk基本是一樣,所以參考市面上比較的成熟的sdk可以讓你少走很多彎路。


現在視頻廣告sdk的日活已經突破了100萬,也已經和很多知名的遊戲開發者合作上了。沒想到我自己一個人開發的客戶端也終於達到了100萬的日活,這對自己是一個很大的肯定,當然自己也得到很大成長。


大家如果有什麼問題,都可以交流下

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