zoukankan      html  css  js  c++  java
  • 关于Unity启动调用Android_id问题排查

    问题: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获取的情况,通过合规检查。

  • 相关阅读:
    二进制,八进制,十进制,十六进制之间的转换
    using关键字的使用
    简单工厂和单例设计模式
    面向对象的七种设计原则
    第六章 初始继承和多态
    第五章项目:体检套餐管理系统
    第二章《深入C#数据类型》项目经理评分
    <<MySchool数据库设计优化>> 内部测试
    Python 日志处理(一) 按Nginx log_format 分割日志记录
    Python 爬虫练习(一) 爬取国内代理ip
  • 原文地址:https://www.cnblogs.com/unityzc/p/14831377.html
Copyright © 2011-2022 走看看