這樣做的好處,不止在於可以清晰地劃分**之間的界限,更重要的是,這樣更加便於管理和維護。
試想一下,我們做抽象工程的目的是什麼?是為了遊戲可以不用頻繁重複地接入渠道sdk嘛。那麼怎麼才能達到這個目的呢?
我們將**劃分成兩個部分:
thirdlib用來存放渠道sdk的依賴庫檔案。
為什麼我們要把目錄的職責分得這麼細呢?這是為了更好地在開發中起到乙個分工明確地作用。
1.在實際開發過程中,我們先建立乙個空的抽象工程。這時候sdkcontainer中是還沒有沒有渠道sdk**的。
2.這時研發的同學,來把我們的抽象工程拿過去,然後在遊戲**中呼叫我們的sdkaccount裡面的介面。抽象工程算是接好了。但是現在還不能用,不是嗎?你得到了我的驅殼,卻沒得到我的靈魂。。。不過這時研發的同學,可以把sdk的事情放下了,專心地去做研發。
3.負責專門接入sdk的同學,從商務手中拿到渠道sdk。然後他把抽象工程拷貝乙份過來。拷貝完之後,把渠道sdk的依賴庫,放到thirdlib裡面。然後在sdkcontainer中,填入渠道sdk的**。接著在sdkconfig中,填入渠道sdk的配置資訊。最後測試一下,看有沒有問題。沒有問題再把它交給研發的同學。
4.研發的同學,拿到接好的渠道sdk的抽象工程,只需要動動手指頭,把裡面的replace和thirdlib資料夾拷貝到原來遊戲工程中,將原來的兩個資料夾替換一下,ok,接入完成。
5.以後再有新的渠道sdk,只需要重複步驟3和步驟4,就可以了。這個過程中,研發的同學,只需要接入一次抽象工程,接下來的事情,就是動動手指頭,替換一下檔案。接sdk的同學,也不用關心業務邏輯,只需要將sdk的**,填入相應的位置就行。兩個人都感覺工作量瞬間減小了很多,嘿嘿。。
有些朋友發現,說了這麼多,只不過是替換資料夾一下而已,為什麼要分為base和replace?我把所有檔案統統放在乙個資料夾裡面不行啊,到時候我把這個資料夾替換一下就好了啊。
先來看看渠道的管理目錄
從這張圖可以發現,我們把base單獨提出來了。我們知道,xcode是可以使用引用的方式,引用乙個資料夾裡面的內容的,而不必一定要拷貝檔案到工程裡面去。也就是說,渠道和base之間,是乙個多對一的關係,每個渠道共用乙個base。
為什麼要這樣做?假設有一天,你的老大叫你修改或者新增一些自家的業務邏輯。哈哈,幸好,我把base單獨拿出來了。這樣我只要修改乙份**就可以了~
儘管抽象工程還有很多事情要做,例如網路請求,使用者資訊記錄,資料採集等等,但是這些都是屬於業務邏輯的範疇了,這邊也不一一介紹了。希望抽象工程,對大家有幫助,讓接入渠道sdk不再痛苦。。
Android多渠道SDK開發心得
以前開發sdk都是在eclipse環境下進行,使用ant進行構建,提供jar so形式的sdk供第三方整合 隨著android studio的使用,公司sdk專案也轉向studio環境,使用gradle進行構建,根據第三方需求分別提供jar so及aar包形式的sdk。本系列文章記錄了整個sdk構建...
ios訊息推送 極光sdk
2016年11月17日 遠端推送指伺服器將要發給iphone的訊息交給極光sdk來處理,極光sdk會負責管理裝置token 向apns傳送資料。使用該模式要求開發人員提供推送證書。長連線推送指伺服器將要發給iphone的訊息交給極光sdk來處理,極光sdk通過與iphone裝置的長連線進行資料的傳輸...
iOS 友盟SDK分享
友盟sdk分享 基本步驟 1 註冊友盟開發者賬號 4 解壓sdk壓縮包,將形如umsocial sdk x.x.x檔案拖入工程中 例如 umsocial sdk 4.4 5 專案面板中手動新增系統庫systemconfiguration.framework 注意 1 新增sdk後需要手動新增系統庫s...