【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 请尊重别人的劳动成果,让分享成为一种美德,欢迎转载。另外,文章在表述和代码方面若有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论!

相关文章
相关标签/搜索