天天看點

接入 SDK 結果翻車了?了解 SDK 的那些事

前段時間,二狗子的朋友圈被工信部釋出的《關于下架侵害使用者權益 App 名單的通報》給刷屏了。公告中指出有 90 款 App 未按照要求完成整改将會下架。

而這 90 款 App 涉及全國各地教育、遊戲、安全、新聞等諸多領域。同時通報中提到,有 5 家企業在 App 不同版本中反複出現同類問題,包括違規收集個人資訊、強制使用者使用定向推送功能、頻繁過度強制索權、欺騙誘導使用者下載下傳等。工信部表示将依法暫停其違規行為,予以直接下架處理。

看到這則公告後,本着吃瓜心理,二狗子順手去搜了一下這 5 家企業,發現他們已經紛紛發表了回應,表示平台排查後發現問題主要在于第三方 SDK 等方面。

其實這類第三方 SDK 插件違法調用手機資訊的行為,早在 2020 年的 315 晚會上就被央視曝光過了,目前網絡上也經常會出現這類新聞。

那為何 SDK 這麼危險,軟體廠商确還要頻頻使用呢?但是如果要說 SDK,那肯定離不開 API。

API 的出現

如果想較為詳細的了解 API 大家可以閱讀《白話科普,10s 了解 API》,這裡就給大家簡單介紹一下。

API 的全稱是 Application Programming Interface,中文名為“應用程式接口”,一般是指一些服務廠商預先定義好的一組向外開放的方法。這些方法直接對應服務廠商的自家服務功能,友善應用程式或開發人員快速調用功能,而無需了解服務廠商工作機制的細節。

例如使用者如果使用了又拍雲短信服務來開發短信發送的功能,那隻要按照文檔選擇想要實作的功能,然後調用短信 API 接口來調用想用服務即可,并不需要知道短信如何傳遞給客戶的技術細節。

SDK 的誕生

簡單了解了 API,我們再回到本文最初所說的 SDK 上來。

所謂 SDK 其實是"軟體開發工具包",即 Software Development Kit 的縮寫。它一般是指通過第三方服務商實作産品功能的軟體工具包。通常,SDK 是由專業的公司提供的,為特定的軟體包、軟體架構、硬體平台、作業系統等建立應用軟體時的開發工具集合。

可以将移動支付技術、語音識别技術,或者存儲技術等進行專業集合。它有效減少了開發者在新增功能時對産品每一項功能進行開發的時間。

和 API 一樣,SDK 由服務廠商提供了,開發者隻需要接入相關 SDK,然後做好相關功能接口的聯調即可,至于底層邏輯、資料存儲等等都不需要去考慮。

API 與 SDK 的差別

那麼從結果上看都是讓開發者使用三方服務功能的 API 和 SDK 到底有什麼差別?為什麼說 SDK 就離不開 API?

其實在更多場合下,API 更像是 SDK 的一個子集,這是因為:

API 通常是一個接口方法,有特定的功能;而 SDK 是一個很多功能的集合體,更像是一個工具包;

API 通常為單個資料接口的形象,SDK 則相當于一個工具環境,通常除了包含了服務的所有 API 功能;

SDK 相較于 API 封裝層次更高。

為什麼 SDK 經常翻車

目前因為各家服務商的提供功能越來越多,同時使用者對于 App 的功能需求也逐漸增大,如果每一個功能都是自己開發,那時間和成本都無限延長。是以公司會更偏向選擇第三方 SDK 工具包來實作這些功能。這就導緻可能很多公司都在用同一個 SDK,一旦這個 SDK 出現了隐私洩露,那牽扯到的也不再僅是一家公司的 App。

那麼,如何避開這樣的隐私侵害呢?

對于開發商而言,要盡可能選擇有一定市場基礎的第三方 SDK,比如盡量使用蘋果和谷歌商店裡選用的 SDK 進行內建。

從個人層面來講,在下載下傳 App 時,最好選擇惡意密度較低的應用商店,比如蘋果的 App Store、安卓手機的官方應用商店,不要随意在網站上下載下傳來曆不明、未經稽核的軟體。同時面對安裝 App 時彈出的各種權限申請,在給出自己的位置資訊、手機通訊錄等隐私權限之前一定要認真确認。

最後,國家也一直在政策層面上對此進行監管。要求網絡營運者對接入其平台的第三方應用,應明确資料安全要求和責任,督促監督第三方應用營運者加強資料安全管理。

目前國内手機廠商也越來越重視使用者隐私,推出“照明彈”等隐私保護功能。一旦這些 App 背景行為的調用逐漸清晰和明朗化,系統也願意給出更多限制性手段後,守住自己的私密資料,大概就不會成為一個難題了。

如果你想開發小程式或者APP的話,可以通過第三方專業開發平台,來幫助你實作開發需求:

廈門在乎科技

-專注小程式開發、

廈門app定制開發

、網站開發

繼續閱讀