【Unity遊戲開發】Android6.0以上的動態權限申請問題

1、引子

  最近公司的遊戲在作安全性測試,期間也暴露出了很多安全上的問題。雖然咱們今天要說的權限申請和安全性相關不大,可是也會影響到遊戲的使用體驗等,因此本篇博客中馬三就想和你們談談Android6.0以上版本中的動態權限申請的一些事情。html

2、關於動態申請的一些知識點

  對於很多Unity程序員來講,可能沒有太多接觸過Android或者iOS的相關開發,因此首先讓咱們先來了解一些關於Android動態權限申請的一些知識點。android

1.權限概述

  Google在 Android 6.0 開始引入了權限申請機制,將全部權限分紅了正常權限和危險權限。應用的相關功能每次在使用危險權限時須要動態的申請並獲得用戶的受權才能使用。程序員

2.權限分類

系統權限分爲兩類:正常權限和危險權限。安全

  • 正常權限不會直接給用戶隱私權帶來風險。若是您的應用在其清單中列出了正常權限,系統將自動授予該權限。
  • 危險權限會授予應用訪問用戶機密數據的權限。若是您的應用在其清單中列出了正常權限,系統將自動授予該權限。若是您列出了危險權限,則用戶必須明確批准您的應用使用這些權限。

下面馬三把危險權限進行了羅列,權限是分組的,同一組的權限申請其中一個,同組的權限就所有都申請了。微信

特殊權限組:  網絡

  • CALENDAR 日曆
  • CAMERA 相機
  • CONTACTS 聯繫人
  • LOCATION 定位
  • MICROPHONE 麥克相關,好比錄音  
  • PHONE 手機狀態  
  • SENSORS 傳感器  
  • SMS 短信  
  • STORAGE 存儲權限


3、Unity中的動態權限申請

  那麼在Unity開發中,咱們又該如何處理Android的動態權限申請呢?對於那些須要動態申請的權限,咱們依然還須要在AndroidManifest裏面再作聲明。Android 這邊在 target 23 以上時會啓用權限檢查,默認不給敏感權限,好比存儲、語音等,須要 app 本身去申請,但這個的前提是你在 AndroidManifest 中生明瞭這個權限, 不然會申請失敗,甚至致使崩潰。而這個動態權限的目的其實就是在於APP啓動或者是須要某些權限的時候至關於加了一個二次確認的做用。好比咱們須要讀寫SD卡權限,這個權限在Android6.0以上會在程序啓動之後動態的申請,可是咱們依然仍是須要在Manifest中進行以下的聲明才能夠:app

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  Unity會默認地對一些敏感權限在 APP啓動的時候一股腦地一塊兒申請,那些普通的權限則會直接放行。可是在遊戲啓動的時候一下就申請了4-5項暫時可能用不到的權限,這個操做對用戶來講是不友好的。好比我只想在遊戲啓動的時候申請一個存儲的權限,而語音、定位那些權限我只想在遊戲中須要的時候再進行二次確認怎麼辦?也就是但願將動態權限的申請進行延遲處理。
  那咱們能夠經過下面的這個配置,關閉APP啓動的時候就默認申請敏感權限的行爲,配置這個不影響經過代碼去動態申請權限的,只是去掉了一開始申請,只須要在Manifest中中添加下面這行聲明就能夠了:
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />

這個聲明能夠寫在<application>或者<activity> Tag之間,建議寫在<application> Tag之間比較好。post

  在咱們使用到Unity一些須要受權的API調用時候(好比獲取網絡狀態或者使用 Microphone Class),Unity會自動地去申請這些權限,毋須咱們額外地多寫Android相關的代碼。若是你想了解如何在Android層面中手動地進行一些動態權限申請,推薦去看一下 wuzhang 的這篇《Unity如何管理住Android 6.0 調皮的權限》博客。測試

4、總結

  在本篇博客中,馬三和你們一塊兒瞭解了Android6.0以上動態權限申請的一些概念以及如何在Unity中進行配置的操做,配置很簡單,就一行代碼的事情,但願能夠幫到你們~url

 

 

 

 

若是以爲本篇博客對您有幫助,能夠掃碼小小地鼓勵下馬三,馬三會寫出更多的好文章,支持微信和支付寶喲!

       

 

做者:馬三小夥兒
出處:http://www.javashuo.com/article/p-nqweuawa-gq.html 請尊重別人的勞動成果,讓分享成爲一種美德,歡迎轉載。另外,文章在表述和代碼方面若有不妥之處,歡迎批評指正。留下你的腳印,歡迎評論!

相關文章
相關標籤/搜索