Marshmallow上的權限管理
來自: https://github.com/smallSohoSolo/android-developer-blog-cn/blob/master/2016/february-01.md
Marshmallow和用戶數據
smallSohoSolo翻譯 原文鏈接 http://android-developers.blogspot.jp/2016/02/marshmallow-and-user-data.html
發送自 Joanna Smith,Advocate和Giles Hogben的開發者, 任職于Google隱私團隊。
Marshmallow設計了很多改變去幫助你的App去管理用戶數據,目的是讓開發者能更加輕松的做對的事,所以Android 6.0 Marshmallow我們讓你的一切在控制之中。
這篇文章強調了在你的App運行時候請求權限和硬件管理的時候如何 獲取用戶的信任 ,并且給你指明了 最好的實踐 案例去澄清你的App的目的。
權限上的改變
在Marshmallow中, 權限已經從安裝時請求移到了運行時請求 ,這在SDK23中是強制性的改變,那意味著在Android6.0中這將到所有的開發者和程序,你的App無論如何都要更新,所以你應該好好想想怎么做。
運行時權限意味著你的App現在可以在當前的上下文中請求敏感數據,這給你一個機會去解釋為什么需要這條權限
權限現在也被以群為單位組織起來,所以現在用戶可以在不理解技術術語的情況下在請求權限的時候做一個明智的決定。因為用戶有了選擇的權利,他們現在可以決定不給予一個權限,或者撤回一個以前授予的權限。所以你的App需要去考慮請求權限失敗之后的問題,還有做好在用戶拒絕你之后的交互。
標識符的改變
另一個影響用戶信任的方面就是用用戶的數據去做對的事。在Marshmallow中,我們為了引導開發者這么做關閉了許多數據的訪問權限。
最明顯的是 本地Wifi和藍牙的MAC地址將不可獲取 ,getMacAddress()函數和BluetoothAdapter.getDefaultAdapter().getAddress()函數現在都會返回02:00:00:00:00:00。
然而, Google play服務現在提供實例ID ,可以標記一個正在設備中運行的應用程序實例,實例ID可以很可靠的替換設備唯一的硬件ID,這個ID不會因為重置或者返廠而被更改。詳情查看Google開發者的這篇文章, What is Instance ID? 。
接下來是什么
用戶的信任度很大程度上依賴于他們感受到的和看到的,處理不當的權限和標識控制會增加用戶被追蹤的風險。并且會讓用戶感覺你的App并不關心用戶。所以為了幫助你解決這個問題,我們做了新的方案去幫助開發者讓他們的用戶感受到他們的app在做正確的事。
- 理解 權限和用戶數據是怎么聯系的
- 學習更多 關于權限使用最好的實踐
- 發現 關于唯一標示的最好實踐 ,清晰的展現除了在Marshmallow上的變化
多么愉快的編程體驗!希望你的App會讓用戶更加開心~~