軟體開發工具包(SDK)

軟體開發工具包

SDK一般指本詞條

軟體開發工具包(Software Development Kit,SDK)一般都是一些軟體工程師為特定的軟體包軟體框架硬體平台、作業系統等建立套用軟體時的開發工具的集合。

軟體開發工具廣義上指輔助開發某一類軟體的相關文檔、範例和工具的集合

軟體開發工具包是一些被軟體工程師用於為特定的軟體包、軟體框架、硬體平台、作業系統等創建套用軟體的開發工具的集合,一般而言SDK即開發Windows平台下的應用程式所使用的SDK。它通過編譯器、調試器、軟體框架等來促進應用程式的創建。它可以簡單的為某個程式設計語言提供應用程式接口API的一些檔案,但也可能包括能與某種嵌入式系統通訊的複雜的硬體。一般的工具包括用於調試和其他用途的實用工具。SDK還經常包括示例代碼、支持性的技術註解或者其他的為基本參考資料澄清疑點的支持文檔。

基本介紹

SpeechSDK,API,DLL,遊戲推薦平台SDK,廣告模組業務描述,遊戲模組業務描述,與MOD(遊戲模組)的關係,風險隱患,隱私風險,數據間諜,消除數據風險,

SpeechSDK

介紹了該系統的設計目標及功能結構,結合實際項目背景,提出了解決方案並以分模組的形式探討了系統的功能,介紹了系統各部分的特點。經過測試基於SpeechSDK。
為了鼓勵開發者使用其系統或者語言,許多SDK是免費提供的。軟體工程師通常從目標系統開發者那裡獲得軟體開發包,也可以直接從網際網路下載,有時也被作為行銷手段。例如,行銷公司會免費提供構建SDK以鼓勵人們使用它,從而會吸引更多人由於能免費為其編程而購買其構件。
SDK可能附帶了使其不能在不兼容的許可證下開發軟體的許可證。例如產品供應商提供一個專有的SDK可能與自由軟體開發牴觸。GPL能使SDK與專有軟體開發近乎不兼容。LGPL下的SDK則沒有這個問題。
相關背景

API

API(Application Programming Interface,套用編程接口)其實就是作業系統留給應用程式的一個調用接口,應用程式通過調用作業系統的API而使作業系統去執行應用程式的命令(動作)。其實早在DOS時代就有API的概念,只不過那個時候的API是以中斷調用的形式(INT 21h)提供的,在DOS下跑的應用程式都直接或間接的通過中斷調用來使用作業系統功能,比如將AH置為30h後調用INT 21h就可以得到DOS 作業系統的版本號。而在Windows中,系統API是以函式調用的方式提供的。同樣是取得作業系統的版本號,在Windows中你所要做的就是調用GetVersionEx()函式
可以這么說,DOSAPI是“Thinking in彙編語言”的,而Windows API則是“Thinking in 高級語言”的。
DOSAPI是系統程式的一部分,他們與系統一同被載入記憶體並且可以通過中斷矢量表找到他們的入口,那么什麼是Windows API呢?要說明白這個問題就不得不引入下面要介紹得這個概念——DLL

DLL

DLL,即Dynamic Link Library(動態連結庫)。在Windows環境下含有大量.dll格式的檔案,這些檔案就是動態程式庫檔案,其實也是一種執行檔格式。跟.exe檔案不同的是,.dll檔案不能直接執行,通常由.exe在執行時裝入,內含有一些資源以及可執行代碼等。其實Windows的三大模組就是以DLL的形式提供的(Kernel32.dllUser32.dllGDI32.dll),裡面就含有了API函式的執行代碼。為了使用DLL中的API函式,必須要有API函式的聲明(.h)和其導入庫(.lib),導入庫可以先這樣理解,導入庫是為了在DLL中找到API的入口點而使用的。
為了使用API函式,我們就要有跟API所對應的.h和.lib檔案,而SDK正是提供了一整套開發Windows應用程式所需的相關檔案、範例和工具的“工具包”。
SDK包含了使用API的必需資料,所以也常把僅使用API來編寫Windows應用程式的開發方式叫做“SDK編程”。而API和SDK是開發Windows應用程式所必需的東西,所以其它編程框架和類庫都是建立在它們之上的,比如VCL和MFC,雖然比起“SDK編程”來有著更高的抽象度,但這絲毫不妨礙在需要的時候隨時直接調用API函式。

遊戲推薦平台SDK

相信隨著Android對應用程式的繼續火爆發展,這款既節約了Android開發人員開發軟體的時間的同時,又確保和提高開發人員和廣告商的經濟利益,並且又具有良好地可移值性的,能夠適用於任何Android平台上的移動,套用的廣告平台和遊戲推廣中心SDK的推廣和發展將是十分順利的。

廣告模組業務描述

根據網上提供的資料,到2012年2月15日為止,我國用手機上網的人數已由03年的900萬增加到4.5億人,且增長速度極快。2021年我國網際網路上網人數10.32億人,其中手機上網人數10.29億人。網際網路普及率為73.0%,其中農村地區網際網路普及率為57.6%。全年移動網際網路用戶接入流量2216億GB,比上年增長33.9%。
移動無線廣告領域大有可為,而友盟廣告平台正是順應著這一形勢而成的一個為移動套用開發者提供廣告推廣平台,並獲得廣告分成收入,為廣告提供商提供廣告展示平台,推廣自己的產品的一個綜合平台。他通過為移動套用開發者提供可以在自己的套用中加入廣告的SDK及詳細說明文檔來保障移動套用開發者正確,順利的使用廣告平台,並通過SDK中的數據上傳接口來記錄移動終端用戶看到,及點擊廣告的動作,從而為移動套用開發者獲‘得廣告提成提供數據基礎。因此,SDK的開發是廣告平台能否順利套用並發展的重中之重,他的易用性,正確性,穩定性直接決定了移動套用開發者是否選擇友盟廣告平台,是使得友盟廣告平台能否在競爭激烈的移動無線廣告市場中脫穎而出的核心競爭力。

遊戲模組業務描述

眾所周知,移動網際網路的發展速度十分迅猛,在世界各地,不管是移動運營商,還是設備製造商,甚至是軟體生產商都投入了大量的人力物力布局移動網際網路,移動網際網路大有超越基於個人電腦的傳統網際網路成為最前沿的改變人們生活方式的下一代革命性技術。
由於Android市場的審核機制不是十分的嚴格,大量的粗製濫造的遊戲充斥於遊戲市場中,使用戶叫苦不迭,這一現象甚至已經影響了整個Android平台的發展。因此,用戶和Android市場都需要一個平台來評價,推薦一些好的遊戲,來淨化一下這個市場。而項目中的SDK就是順應這一形勢產生的一個定期向用戶提供推薦遊戲的一個平台,其業務模式與廣告平台類似,都是開發一個SDK來允許移動套用開發者將此遊戲平台集成到其所開發的套用中,然後將他的套用發布到Android市場中,當用戶下載此套用並使用的過程中,會看到此遊戲平台的提示,點擊進去就可看到遊戲中心所提供的數據,了解到近期Android市場中一些評價很高的遊戲,在這個過程中,SDK中會有專門模組記錄用戶的行為,為以後移動套用開發者獲得遊戲推薦提成提供數據基礎。

與MOD(遊戲模組)的關係

遊戲中就有很多SDK工具包,可以開發MOD和資料片。
2017年,Vungle推出SDKV5,增加10個新的互動式套用內視頻模板進一步增強消費者的廣告體驗----新的模版將會植入Vungle最新的廣告埋點技術。

風險隱患

隱私風險

2019年11月,上海市消費者權益保護委員會委託第三方公司對一些手機軟體中的SDK外掛程式進行了專門的測試,卻發現一些SDK暗藏玄機。它們會讀取設備的IMEI、IMSI、運營商信息、電話號碼、簡訊記錄、通訊錄、套用安裝列表和感測器信息。這些APP里的SDK來讀取用戶的隱私信息只是第一步,讀取完成後,還會悄悄地將數據傳送到指定的伺服器存儲起來。北京招彩旺旺信息技術有限公司的SDK,甚至涉嫌通過菜譜、家長幫、動態壁紙等多款軟體,竊取用戶更加隱私的信息。因為SDK能夠收集用戶的簡訊,以及套用安裝信息,一旦用戶有網路交易的驗證碼被獲取,極有可能造成嚴重的經濟損失。

數據間諜

近年來,國家安全機關工作發現,境外一些別有用心的組織和人員,正在通過SDK蒐集我用戶數據和個人信息,給我國家安全造成了一定風險隱患。SDK以其多樣化、易用性和靈活性等優勢成為移動供應產業鏈中最重要的一項服務,與此同時也帶來諸多數據安全問題。
——過度收集用戶數據。有些SDK會收集與提供服務無關的個人信息,或強制申請非必要的使用許可權,比如獲取地理位置、通話記錄、相冊照片等信息以及拍照、錄音等功能。當SDK的用戶覆蓋量達到一定規模時,可以通過蒐集的大量數據,對不同用戶群體進行畫像側寫,從而分析出潛在的有用信息,比如同事關係、單位位置、行為習慣等。一些境外SDK服務商,通過向開發者提供免費服務,甚至向開發者付費等方式來獲取數據。據相關網站披露,一款在美國擁有5萬日活躍用戶的應用程式,其開發者通過使用某SDK,每月可以獲得1500美元的收入。作為回報,該SDK服務商可以從這款應用程式中收集用戶的位置數據。
軟體開發工具包(SDK)
SDK蒐集個人信息類型
——境外情治單位將SDK作為蒐集數據的重要渠道。據報導,美國特種作戰司令部曾向美國SDK服務商Anomaly Six購置了“商業遙測數據源”的訪問服務,而該服務商曾自稱將SDK軟體植入全球超過500款套用中,可以監控全球大約30億部手機的位置信息。2022年4月,有關媒體曝光巴拿馬一家公司通過向世界各地的應用程式開發人員付費的方式,將其SDK代碼整合到應用程式中,秘密地從數百萬台移動設備上收集數據,而該公司與為美國情治單位提供網路情報蒐集等服務的國防承包商關係密切。
軟體開發工具包(SDK)
《華爾街日報》:美國政府承包商在多個手機APP中嵌入跟蹤軟體

消除數據風險

消除SDK背後的數據風險應該怎么做?
據國內權威機構掌握,截至2022年12月,中國10萬個頭部套用中,共檢測出2.3萬餘例樣本使用境外SDK,使用境外SDK套用的境內終端約有3.8億台。
軟體開發工具包(SDK)
SDK申請收集用戶信息占比
——應用程式開發企業:應儘量選擇接入經過備案認證的SDK,引入境外SDK前應做好安全檢測和風險評估,深入了解SDK的隱私政策,並利用SDK demo以及APP測試環境對SDK聲明內容進行一致性比對,並持續監測SDK是否有異常行為。
——個人用戶:個人用戶在使用手機應用程式時,要增強個人信息保護意識及安全使用技能,要選擇安全可靠的渠道下載使用應用程式,不安裝來路不明的套用,不盲目通過敏感許可權的申請。特別是發現SDK申請與套用功能無關的許可權時,需要保持高度警惕。

相關詞條

熱門詞條

聯絡我們