由于渠道SDK的特殊性,所以SDK 的 API接口設(shè)計至關(guān)重要。為什么說SDK開發(fā)很特殊呢?因為現(xiàn)在很多的渠道或者平臺的SDK,正在使用的游戲、應(yīng)用多達上千款。任何一個小的調(diào)整將直接影響到很多游戲、應(yīng)用開發(fā)者的版本周期。
SDK前期的API接口設(shè)計格外關(guān)鍵
1、接口名稱和參數(shù),一定要清晰
一個清晰的接口名稱可以替代無數(shù)的注釋。
2、一個接口只干一件事
切忌不要把兩個沒關(guān)系的接口合成一個,這樣只會增加游戲的接入成本。
3、接口的數(shù)量,盡可能的少
開發(fā)者都希望能夠簡單快速的接入SDK。
4、接口的參數(shù),盡可能的少
如果SDK內(nèi)部能獲取到的,就不要讓游戲傳遞。
5、SDK的接口中出現(xiàn)的通用名稱一定要統(tǒng)一
不允許前后的接口中,出現(xiàn)2個參數(shù)名代表的是同一個字段。比如,APPID和GameID都代表的是應(yīng)用的ID
6、按照模塊區(qū)分使用全局回調(diào)(針對手游SDK)
比如按照必接接口和選接接口進行模塊區(qū)分,然后分別設(shè)置模塊的全局回調(diào)(一次性注冊,而不是每個接口都注冊一次)。一方面,游戲開發(fā)者在接入渠道SDK的時候,大部分的開發(fā)者都是只接入必接接口,這樣就不必關(guān)心選接接口的回調(diào)處理。另一方面,有些特殊情況需要對未調(diào)用的接口回調(diào)進行處理,如果是全局回調(diào)的話,依然可以正常處理游戲邏輯。
如果您是應(yīng)用SDK開發(fā),請忽略此原則。
7、能同步的接口,就不要異步
開發(fā)中碰到的疑難問題及解決方案
· 接口開發(fā)實現(xiàn)中,一定要先對開發(fā)者傳進來的參數(shù)進行校驗處理。
· 資源文件的命名,采用獨立的前綴開頭。
· 一定在主線程中傳遞回調(diào)。
· SDK開發(fā)中用到的第三方庫或者框架,不要直接暴露給開發(fā)者。