Android手遊SDK那點事(二)SDK項目設計

項目構建

先上一個完整架構圖,圖中名詞解釋:
project:AndroidStudio新建的project項目
module:AndroidStudio在project項目下新建的module
library:module是一個library庫
application:module是一個application應用程序
在這裏插入圖片描述
KSDK爲名稱模擬項目構建

項目建議:
1、這裏遊戲sdk不使用mvp或者mmvm的方式,其實這兩種模式開發者在開發應用的時候不要盲目的使用,根據自己項目業務情況選擇一個合適的模式,並加以修改,適合自身項目需求的纔是最好的。

2、儘量的不要去使用第三方的庫,比如okhttp,雖然強大,但如果遊戲包或者其他渠道sdk同樣也是用了okhttp,並且版本不一樣,接口可能也會存在差異,在打包的時候,就會報異常。如果你是大渠道,別人都求着上你們渠道的,你有發言權啊,隨便怎麼引入第三方庫,別人都是以你的爲準

gradle使用版本:5.1.1,gradle插件版本3.4.1

KSDKCommon:公共模塊,單獨爲一個project,因爲其他sdk也會用到,分開好點,也可以作爲module寫在其他project,子模塊module命名爲ksdk_common,library庫,模塊包含的功能:工具類,網絡庫等一些公共資源。
在這裏插入圖片描述
KSDK:運營sdk核心,單獨爲一個project,子模塊module命名爲ksdk_lib,library庫,對內的賬號體系和支付體系等,對外定義接口與中間件連接
在這裏插入圖片描述

KSDKMiddle:中間件項目,中間件其實就是內部sdk和外部第三方渠道對接中間的那一層,上層依賴定義的外部接口,下層調用內部sdk接口,中間根據三方渠道不同的需求隨意接入, 筆者這裏以application形式新建中間件,實際開發中筆者的項目是library,生成jar或者aar後面還有個demo演示項目,這裏就不這麼幹了。中間件只要有三個關鍵:ZSDK.java外部調用的接口,ZSDKAuth.java渠道對接類,ZSDKApplication類,除接口定義不能變外, 其他可隨意變,新增、修改邏輯等等
在這裏插入圖片描述

  • 演示項目沒有做任何權限的操作,故沒有動態申請權限
  • 演示項目沒有做任何混淆
  • 演示項目採用的是jar打包,這個可以隨意,aar都可以

中間件接入後運行生成apk,可做接入演示調試,還有個目的就是後續的渠道打包,通過demo apk和母包進行合併,這個後面會講到

總結

廣告sdk 和h5sdk這裏不做講解,爲什麼呢,時間不多,筆者有時間再去寫了。
上面模塊中很多方法都未實現或者爲演示示例,可以根據真實環境做實現,demo只做模擬。
把demo放出來供讀者參考:
github地址 https://github.com/hiongyend/KSDK

上一篇:Android手遊SDK那點事(一)簡述

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