SDK開發十大常見問題與解決方案是什麼?

2022-03-17 14:51:28 字數 2066 閱讀 9967

乙個好的sdk應該具備易用性、穩定性、輕量、靈活的特點,而箇推作為國內第三方推送市場的早期進入者,一直致力於為開發者提供高效穩定的推送sdk。

這期文章,我們特地採訪了個推android 資深開發敬瑜,以個推推送sdk為例,來聊聊打造大型sdk的關鍵技術點。

作者 個推android 資深開發 敬瑜

02 sdk 開發最關鍵的點是什麼?

除了穩定性外,以下幾個問題對於打造優質sdk也很重要。

03 sdk 版本適配以及廠商相容情況如何?

個推 sdk 支援 android 端和 ios 端,以下文章均使用 android 端來舉例。

截止目前,android 系統從07年發布第一版至今,經歷了多次迭代,android q為其最新版本。個推android sdk 支援 android 2.3及以上版本,幾乎可以在市面上現存的所有android 版本上執行。

** 2)廠商相容**

乙個成熟的 sdk 勢必要保證在不同的廠商裝置上正常執行,尤其是當sdk 內部涉及到android 四大元件時需要特別注意廠商的相容性,注意其是否會限制固定 action 的廣播使用及限制固定類名 service 的啟動。而如果 sdk 開發涉及到 android framewrok 的引用,某些功能可能會失效。比如andfix 的底層實現依託於 art/dalvik 虛擬機器的架構,但是大部分廠商會對虛擬機器進行定製,修改底層 artmethod 結構,這時,andfix將無法在修改過虛擬機器的裝置上生效。

所以在 sdk 開發過程中我們要盡量避免android framework 的引用。個推在使用android 四大元件的時候,會要求開發者提供自定義 service,其service 只需要繼承個推預設的即可,這樣可以保證 sdk 在不同廠商上均能正常執行。

04 怎麼看待現在市面上的 sdk廣泛支援多混合開發這一現象?

大前端開發是必然的趨勢,現在新推出的產品會優先使用混合開發,保證一套**可以在多個終端上執行。因此,乙個成熟的 sdk 有必要對不同的語言框架進行適配。目前,個推 sdk 不僅支援 android、ios系統,還支援混合開發,如unity3d cocos2dx react-native flutter cordova apicloud等。具體見個推實驗室

05 android sdk 是否會使用開源專案?

不會使用。

有以下幾點考慮:

06 如何適配海外市場環境?

07 sdk 如何降低手機電量、流量的消耗?

為了給使用者更好的使用體驗,我們會盡可能地降低sdk對電量以及流量所造成的消耗。為此,我們不會使用藍芽這類電量消耗較高的工具。此外,我們還會採用多鏈路合併技術來節約流量。

08 如何自主檢測 sdk 的異常?

經過近 10 年的優化與公升級,個推推送 sdk 的異常情況已經控制在乙個非常非常低的水平,但因為 android 市場碎片化非常嚴重,sdk 在如此碎片化的環境下執行難免會出現各種意想不到的突發情況,為此我們專門開發了sdk執行自查系統,類似於精簡版的 bugly。該內部產品與 sdk 相輔相成,可以自主檢測 sdk 的異常情況,並在發現異常後主動上報。其次,在**層面,我們也做了一些防控,避免 sdk 因為異常而導致無法正常使用。另外,我們還成立了技術支援團隊,服務廣大的開發者,定期回訪客戶,幫助解決客戶遇到的問題。

09 開發sdk還有什麼是需要注意的麼?

sdk開發過程中,我們還需要注意安全性。安全性不僅僅代表網路資料互動的安全、本地資料儲存的安全,也涉及到 sdk 的加固、混淆、第三方安全軟體審核。舉例來說,個推 android sdk 提供了四大元件的對接,sdk 內部會特別注意,避免這些元件被反序列化攻擊。為了讓開發者更加放心地使用我們的sdk,我們公司內部建立了嚴格的安全管理機制,來保障sdk的安全性。

10 對 sdk 開發者有何建議?

開發sdk並不難,難的是如何讓自己開發的 sdk 在複雜的環境下穩定執行。這需要我們對 sdk 的架構有乙個比較清晰的認知,並對前文所提到的問題進行認真思考。

angular十大常見問題

angularjs可以視為是一種資料優先的框架,在它的三個層面中,資料模型是骨架,檢視模型和業務事件是血肉,檢視模板和指令是皮毛,這三層合在一起,就形成了乙個活生生的web應用。1.ng if的情況程式設計客棧下 始終將頁面中的元素繫結到物件的屬性 data.x 而不是直接繫結到基本變數 x 上。因...

Kali Linux常見十大問題

1 kali linux的映象選取 目前大部分機型的計算機為64位,所以建議使用amd64映象,位址為 2 kali linux使用無線網絡卡 目前360wifi第二代支援,不是破解網絡卡 3 kali linux支援破解無線網的網絡卡 型號 3070 8187 4 kali linux如何裝虛擬機...

電腦常見問題 電腦無法開機的常見問題 解決方法彙總

結果按下開機鍵後,一片死寂,又按一遍,還是鴉雀無聲,於是瞬間心態 相信不少小夥伴遇到過上面這種情況,甚至有些暴躁的大佬們直接巴掌伺候,此時便能聽到機箱被打的 作響。01電腦執行但黑屏 首先第一種情況,電腦啟動了,但是螢幕還是黑的,這種情況是比較簡單的,問題一般出現在三個地方。顯示器介面 2 記憶體接...