问题:Unity启动时获取了设备信息,其中包括Android_id

以下是在androidstudio中的log,使用Xposed的LoginHook看到Unity启动时获取了android_id信息,如果在用户同意隐私协议之前获取,是不合规的。

05-31 14:06:29.620 4118-4138/com.DefaultCompany.TestHW I/Xposed: com.DefaultCompany.TestHW -> 2 调用Settings.Secure.getstring获取了android_id

05-31 14:06:29.622 4118-4138/com.DefaultCompany.TestHW I/Xposed: dalvik.system.VMStack.getThreadStackTrace(Native Method)

java.lang.Thread.getStackTrace(Thread.java:580)

com.example.hooklogin.HookLogin.getMethodStack(HookLogin.java:205)

com.example.hooklogin.HookLogin.access$000(HookLogin.java:22)

com.example.hooklogin.HookLogin$6.afterHookedMethod(HookLogin.java:178)

de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:374)

android.provider.Settings$Secure.getString()

com.unity3d.player.UnityPlayer.nativeRender(Native Method)

com.unity3d.player.UnityPlayer.access$300(Unknown Source)

com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source)

android.os.Handler.dispatchMessage(Handler.java:98)

android.os.Looper.loop(Looper.java:135)

com.unity3d.player.UnityPlayer$e.run(Unknown Source)

05-31 14:06:29.623 4118-4138/com.DefaultCompany.TestHW D/Unity: UUID: 10xxxxxxxxxxxx95 => 72xxxxxxxxxxxxxxxxxxxxxxxxxxxx06

解决方案:

1:排查java代码

检查是否是我们自己代码,主动获取了android_id。

如以下代码块:

Settings.Secure.getString(
activity.getApplicationContext().getContentResolver(),
Settings.Secure.ANDROID_ID);

2:排查第三方插件、接入的SDK、Unity导入的package。

已知,Unity Ads package是会获取设备信息的,第三方插件Bugly也是会获取设备信息的。

这些需要放到游戏的用户隐私协议之后才能获取。

这方面自己通过逻辑控制即可。

3:Unity的相关设置

3.1 检查PlayerSettings 设置,2017及以下需要pro版才能勾选disable HW Statistics、2018个人版也可以、2019及以上已经移除该选项,统一由Services窗口的Analytics控制。

3.2 如果Unity开启过Analytics,然后再关闭依然后收到获取android_id的log。

需要手动将Unity的关于Analytics的setting配置修改掉。

如图左边会获取android_id,右边不在获取android_id。

至此,我想,你的项目不会再出现不受控制的android_id获取的情况,通过合规检查。

最新文章

  1. ASP.NET Core的路由[4]:来认识一下实现路由的RouterMiddleware中间件
  2. Some warning were found during validation
  3. github使用技巧
  4. 【Bugly干货】Android性能优化典范之多线程篇
  5. PHP类方法重写原则
  6. find命令学习
  7. sql_action
  8. Symbol Table
  9. jQuery的toggle()的自动触发真烦人
  10. 一种基于Welch's t检验的二元关系挖掘
  11. c++/c字符串操作汇集
  12. adxl345的STM32驱动程序和硬件设计
  13. 从0到1学习node之简易的网络爬虫
  14. Java GC - 垃圾回收机制
  15. 一文为你详细讲解对象映射库【AutoMapper】所支持场景
  16. ML笔记_机器学习基石01
  17. sqlmap完成简单的sql注入
  18. Docker 搭建pxc集群 + haproxy + keepalived 高可用(二)
  19. LCA(tarjan)
  20. Lintcode: Longest Common Substring 解题报告

热门文章

  1. Java JVM 启动参数
  2. JMeter线程组编辑区揭秘
  3. Sublime Text 3 Build 3176 License
  4. 【VsCode】常用的快捷键
  5. 【工具库】Java实体映射工具MapStruct
  6. Android NDK工程的编译和链接以及使用gdb进行调试
  7. Android apk快速定位、灰色按钮克星--DroidSword
  8. 一起来刷《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
  9. jupyter中那些神奇的第三方拓展魔术命令
  10. 1、requests基础