在上一篇《TypeSDK聚合sdk設計根本准繩》中我們提到了,設計聚合sdk需求設計開發平台局部的接口,以及設計發布平台的聚合這2個大模塊。那麼我們明天就先來講講發布平台之一:安卓平台的一致化接口構造和思緒。
一、相關的需求
安卓平台的一致化接口,我們需求思索到詳細以下的幾點:
1.對外需求有一致的接口,保證不同的渠道sdk 對同一個游戲來說,是調用相反的接口,傳遞相反的參數
2.對內需求有一套擴展性很好的框架,可以應對不同渠道的sdk差別性
二、設計的模塊
那麼針對這些思索點,安卓平台的一致化接口,我們將次要分紅以下幾個局部來設計:
1.根底架構設計
2.詳細渠道完成類
3.一致化對外平台接口
4.跨平台交互的設計
三、詳細的細節
1.一致化的根底架構
針對一致化的根底架構,我們次要設計了以下的一個主體框架
我們次要完成了這麼一套構造
1.我們創立通用的根底籠統類(BaseActivity)。
該類中,包括了一切sdk都有,但是完成不同的接口,這些接口作為籠統函數,要求每個渠道的詳細完成類都去完成。
1.1 初始化接口:void init()
1.2 登錄接口: void login()
1.3 登出接口:void logout()
1.4 領取接口:string pay(string _json_string)
1.5 提交玩家數據:void updatePlayerInfo( string _json_string)
1.6顯示用戶中心: void showPlayerCenter()
1.7 大退游戲(殺進程):void exit game();
1.8 顯示分享 void showShare(string _json_string)
還需求通用的籠統接口,用作sdk框架的拓展
1.9 依據函數名,調器具體完成類中的函數:
string DoAnyFunction(string _function_name,string _json_string)
我們還包括了通用固定完成的接口,用作sdk框架的補充
1.10.獲取本地渠道的配置:string getPlatfromInfo()
1.11.獲取緩存在安卓層的用戶信息:string getUserInfo()
2.我們依據每一個渠道的sdk不同,獨自創立每個渠道自己的完成類Bonjour_xx。
2.1 這個類承繼通用的框架基類(BaseActivity)。
2.2 在該框架下,完成基類一切的籠統接口。假如沒有該接口的功用,也需求做出相應的處置,例如輸入log日志。
2.3 同時該類可以添加渠道自有的特殊接口(例如獲取好友列表)
3.發布平台有一個一致的給內部調用接口完成的類:mainActivity
3.1.mainActivity給unity調用時,需求承繼UnityPlayerActivity。在給cocos2dx調用時,需求承繼Cocos2dxActivity。我們的次要目的是給游戲的開發平台調用,就是說,游戲開發平台是哪個,那我們就需求寫這麼一個給其調用的mainActivity。
3.2 mainActivity中需求一致化對外的接口名字,並且在每個接口中,運用 bonjour_xx的實例對象,來完成詳細接口的業務邏輯
3.2 mainActivity中需求可以讓開發平台(unity/cocos2dx)需求運用 bonjour_xx來調用基類的通用拓展的函數
4.跨平台交互局部
跨平台交互我們需求思索兩個方面
a.如何將從發布平台調用開發平台函數
b.如何將從開發平台調用發布平台函數
1.在安卓層,我們只需求將需求給到unity調用的函數,寫在之前提到過的mainactivty中,在unity中,可以直接經過函數名來調用mainactivity的函數
2.在unity層,提供了我們通用的跨平台調用接口
void UnitySendMessage(string beheaver_name, string function_name, string json_string );
我們只需求知道unity局部用來接納音訊的腳本名字,需求執行的腳本函數名,以及傳遞的參數,就可以調用unity的呼應函數了。
綜上安卓向unity平台傳遞數據和調用函數,次要經過音訊機制發送音訊
unity向安卓平台傳遞參數和調用函數,則經過函數名,用反射來調用mainActivity裡的接口。
以上就是我們安卓發布平台的聚合sdk設計思緒細節,下一章我們將講述IOS聚合sdk的設計思緒細節。
這個項目已開源,大家有興味可以自己研討或許參照項目編寫自己的聚合SDK
項目地址:https://code.csdn.net/typesdk_code
項目地址:https://github.com/typesdk
【TYPESDK手游聚合SDK客戶端設計思緒與架構之二:安卓平台一致化接口構造及思緒】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!