日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
別讓引入的SDK和第三方庫導致您應用被下架!

或許您的應用正在使用一些第三方 SDK 或者代碼庫,畢竟 "站在巨人的肩膀上" 比從頭開始最基礎(chǔ)的應用開發(fā)更節(jié)省時間。作為應用開發(fā)者,您需要為應用的整體情況負責,包括用戶體驗和您的代碼,當然,也包含第三方 SDK 和代碼庫。

創(chuàng)新互聯(lián)長期為近千家客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為滎陽企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站設(shè)計,滎陽網(wǎng)站改版等技術(shù)服務。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

當您在考慮使用 SDK 或代碼庫時,知曉它們對如何處理和使用數(shù)據(jù)處理尤為重要,這將使得您可以更好地保護用戶隱私。

在本文中,我將和大家分享幾個工具,可用于應用開發(fā)的不同階段,包括開發(fā)階段和應用發(fā)布后 (這是對 SDK 廠商文檔的補充,推薦大家仔細閱讀 SDK 文檔)。

Merged Manifest 視圖

為了能夠增加靈活性,Gradle 支持多個以應用構(gòu)建配置、應用模塊或代碼庫依賴需求而定義的單獨 Android Manifest 文件。這些清單文件根據(jù)工程需要包含不同的默認 XML 元素和屬性。當構(gòu)建應用時,Gradle 會將所有清單文件合并到一個清單文件中。您可以 指定 "合并規(guī)則" 來定義數(shù)值的合并方式。接下來,我們探討如何使用這個工具洞悉您所依賴的 SDK。

Android Studio 提供了一種簡單的方式來檢查最終合并后的清單文件。方法是點擊處于清單文件編輯窗口底部的 "Merged Manifest" 標簽頁。通過界面凸顯的不同顏色,您可以清楚地分辨出不同的清單文件來源 (Manifest Sources)。這些源包括不同的代碼庫依賴,例如下圖展示了名稱為 "transport-backend" 的依賴在應用中所用到的權(quán)限。

Merged Manifest 視圖示例

這樣的展示效果能夠幫助您快速定位到由應用依賴所帶來的異常權(quán)限請求。由于運行時的權(quán)限請求對話框可能會改變用戶的交互,因此這些分析數(shù)據(jù)不僅非常有用,而且還能夠使您更加全面地掌握應用的依賴對數(shù)據(jù)的使用目的。如果有必要的話,您需要向用戶解釋何時以及為何要訪問某些數(shù)據(jù)。

如果您在合并后的清單文件中看到任何異常的權(quán)限使用,請仔細審閱相關(guān)依賴庫文檔 (或者聯(lián)系開發(fā)者),并確保您了解該權(quán)限使用的實際目的。

該權(quán)限很有可能對于您所使用的服務來說是可選的。對于需要最小化數(shù)據(jù)使用的場景,您可以在應用模塊的清單文件中添加一個 "remove" 節(jié)點標記 來防止該庫的權(quán)限請求被合并到最終的應用中。

 
 
 
 
  1.    tools:node="remove"/> 

模塊依賴視圖

在開發(fā)工具鏈中另一個非常實用的工具是 Gradle 的模塊依賴支持。依賴圖表通常的用法是定位構(gòu)建過程中遇到的問題。依賴圖表還可以顯示間接依賴的信息,有助于幫助開發(fā)者知曉由依賴庫引入的額外依賴。如需了解更多信息,請參閱: 查看模塊依賴項。

接下來,我們將介紹另外一款工具,它可以幫助您更好地了解應用中的數(shù)據(jù)訪問情況。

數(shù)據(jù)訪問審計

隨著應用復雜性的提高 (包括您團隊規(guī)模的不斷擴大),在應用的開發(fā)過程中很難直觀地檢查與 SDK 相關(guān)隱私數(shù)據(jù)的訪問情況。

Android 11 引入了 數(shù)據(jù)訪問審計 的特性,它可以幫助開發(fā)者確認在應用使用過程中哪段代碼訪問了數(shù)據(jù)。該特性可以讓您將隱私數(shù)據(jù)與應用中的業(yè)務場景相關(guān)聯(lián),比如 "點咖啡" 或者 "與朋友分享"。進而定位任何異常的數(shù)據(jù)訪問操作,并確定哪個模塊或者應用場景執(zhí)行了訪問操作。

如需使用該特性,首先創(chuàng)建一個 context 對象,并且為其關(guān)聯(lián)一個 "屬性標簽",該標簽和某個業(yè)務場景相關(guān),比如 "點咖啡"。您可以在 OrderCoffeeActivity.onCreate() 方法內(nèi)實現(xiàn)這些。

 
 
 
 
  1. attributionContext = createAttributionContext("orderCoffee") 

您可以在之后開發(fā)框架的 API 調(diào)用中將上面創(chuàng)建的 attributionContext 作為 Context 類型的參數(shù)進行使用。

接下來,設(shè)置一個回調(diào),當隱私數(shù)據(jù)被訪問的時候會調(diào)用該回調(diào)。在回調(diào)內(nèi)部,您可以獲取 attributionTag (上面所設(shè)置的屬性標簽),并提取堆棧信息或者集成您自己的應用分析方法。

 
 
 
 
  1. val appOpsCallback = object : AppOpsManager.OnOpNotedCallback() { 
  2.       // 當您的應用訪問了隱私數(shù)據(jù)的時候,該回調(diào)會在應用訪問隱私數(shù)據(jù)的時候被調(diào)用 
  3.       // 比如聯(lián)系人數(shù)據(jù) 
  4.       override fun onNoted(syncNotedAppOp: SyncNotedAppOp) { 
  5.         logDataAccess(syncNotedAppOp.op, 
  6.                  // 這里會返回上面創(chuàng)建 attributionContext 的時候所傳入的標簽字符串, 
  7.                 // 比如,這里就是 “orderCoffee” 
  8.                 syncNotedAppOp.attributionTag,  
  9.                 Throwable().stackTrace.toString()) 
  10.     } 

數(shù)據(jù)訪問審計同時支持同步和異步兩種 API 調(diào)用,并且可以在 Android 11 及之后的設(shè)備上使用。如需了解更多信息,請參閱: 數(shù)據(jù)訪問審計。

小結(jié)

Android 11 中新增的 Merged Manifest 工具、Gradle 對于模塊依賴的支持、數(shù)據(jù)訪問審計 API,均是為了能夠幫助開發(fā)者針對應用內(nèi)和 SDK 依賴的數(shù)據(jù)訪問和操作提供額外的監(jiān)測。從而使您為終端用戶展現(xiàn)更好的透明性。推薦大家將這些工具整合進現(xiàn)有的工作流程中。

此外,如果您通過 Google Play 商店發(fā)布應用,請確認已經(jīng)閱讀了相關(guān)的 用戶數(shù)據(jù)策略,并且確保您使用的 SDK 是符合要求的。

本文轉(zhuǎn)自O(shè)SCHINA

本文標題:別讓引入的 SDK 和第三方庫導致您應用被下架!

本文地址:https://www.oschina.net/news/141535/pay-attention-on-3rd-library-and-sdk

資訊來源:https://my.oschina.net/androiddevs/blog/5048766


分享題目:別讓引入的SDK和第三方庫導致您應用被下架!
URL地址:http://www.5511xx.com/article/djeohdc.html