# 前言

如图所示,运营那边拿了母包进行合规检测,,检测出说有使用 Unity 广告服务。

主要是说存在隐私合规问题:由于在用户同意隐私协议之前,获取了 androidid 以及调用了 com.unity3d.player.UnityPlayer.addPhoneCallListener (监听呼入电话) 操作。

然后被识别为了 『Unity 广告服务』,然后我们项目并没有任何地方需要使用到相关功能。且也没有进行过相关操作。

# 尝试

根据堆栈调用信息查询,发现 addPhoneCallListener 属于 Unity 底层库的方法,开始怀疑这个有没有可能是 unity 注册事件用来处理电话呼入游戏暂停之类的?然后被识别成了广告。

因为反编译相关库,发现 『unity-classes.jar』 与 Unity 安装目录下 classes.jar 文件一致:

Unity2017_4.28F1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes\classes.jar

作为底层库,要么在上层有某种设置,要么一定会调用,在经过一些网上一些查询和讨论之后,大概有两个怀疑点:

  • 怀疑是否是 Unity 内置广告组件开关引起。
    如图所示:

    不过,由于我们项目国服打包机并未登录,因此尝试修改项目根目录下 ProjectSettings/UnityConnectSettings.asset 文件,将如下字段值都改为 0:
m_Enabled: 0
m_InitializeOnStartup: 0
  • Disable HW Statistics 设置

    根据官方说明,该选项如果不勾的话,会向 Unity 发送匿名硬件统计信息,因此也可以算一点。

# 结果

等待反馈