iOS 廣告SDK總結(二),ios 15正式版耗電,ios15.4小組件bugiOS廣告SDK概要(2)最后一部分是廣告SDK的設計。SDK接口設計一個好的SDK至少應該包含三個部分:SDK庫訪問文檔演示SDK停靠文件目錄1。API和注釋根據以往的經驗,API接口越簡單越好。最好的外觀是初始化接口、調用接口和關閉接口......
最后一部分是廣告SDK的設計。
SDK接口設計
一個好的SDK至少應該包含三個部分:
SDK庫
訪問文檔
演示
SDK停靠文件目錄
1。API和注釋
根據以往的經驗,API接口越簡單越好。最好的外觀是初始化接口、調用接口和關閉接口。搞定;打電話的人不想再花一秒鐘看你的API。
簡單合理;
如果一種方法能實現,兩種方法都不會采用;
該方法應該具有盡可能少的參數。如果方法中有三個以上的參數,它將被打包成一個參數模型。SDK內部能獲取的,內部獲取就好。
不得實現的協議用optional關鍵字明確標記。
內部變量不對外公開。如果需要公開它們,readonly屬性
如果有類似的廣告形式,比如直播和視頻貼片,功能差不多,就分兩類分別開發。
盡量用同步接口代替異步接口。
記得提供一個版本號接口。
命名規范
類名統一以平臺為前綴,方便開發者區分,比如YXAdSDKXXX類。
采用駝峰命名,類名、方法名、字段名都可以明確表示其用途。
多個值是枚舉值。
詳細注釋
明確指出當前方法調用線程、參數范圍、參數類型、默認值等信息。
必要的內部邏輯通知開發者,比如開屏請求,內部保證2s內回撥,開發者不需要添加倒計時定時器。
新版本增加了接口、屬性等。,并添加相應的版本標識符。
可擴展
界面設計要能考慮到未來可預見的變化,這也是區分等級的點;比如原來的廣告請求參數,設計一個ext參數,以后有需要可以直接傳到這里。
回調協議盡量詳細,最好是UI全流程開放;比如視頻補丁的回調,加入開始的回調,當前播放時間等。如果開發者臨時需要,沒必要換SDK。
隱私
SDK要有自我保護意識,也就是說開發者不能改變一些外部的參數和數值,這樣會影響SDK的內部邏輯。比如原生廣告會將素材模型回調給開發者,不要在模型中添加上報url等字段,而是保留在SDK內部。
每一個暴露給開發者的字段,都要先暴露后曝光,所以開發的時候要慎重考慮。
2。文檔
好的文檔會讓開發者舒服的對接,后面的麻煩會少一些。
文檔至少應該包含以下幾個部分,基本都是各大SDK做的:
圖中還有千言萬語:
廣告SDK訪問文檔目錄
3 .演示
demo的作用是讓開發者了解調用過程,降低學習的成本;也就是說,方便他們復制代碼。
向開發人員展示所有暴露的類和方法,有時還會添加一些特例,為開發人員提供一些便利。
SDK架構設計
好的外部接口+好的內部設計才是好的SDK。
SDK的架構和App相差不大。其實都是MVC的變種,只不過SDK沒有C,所以應該還有一個容器來處理UI和數據交互邏輯。
按照層級,從上到下可以分為:API層gt;服務層gt;模塊層
API層,提供開發者調用接口,內部調用服務層,封裝一些邏輯和數據等。
服務層、業務層、調用模塊層功能塊、組合數據、創建UI、處理業務邏輯等。,是SDK的核心層。
模塊層是底層功能塊,通常包括
網絡(客戶端)
緩存(模型緩存、圖片視頻緩存、報表信息緩存等。)
實用工具(已提供)
數據中心(提供全局配置信息、型號信息、沙盒目錄等。)
記錄器(提供日志和報告服務)
庫(可及性、編碼/解碼、一些擴展)
個人對建筑的感受
初始的底層模塊要設計好,設計不好就要重構。
尤其是模塊之間的接口,大多是上層考慮的,是考驗經驗水平的地方,只懂理論做不到。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部