admin管理员组

文章数量:1535376

2022年12月13日20:49:54 更新

不是穿山甲sdk的问题,是游戏在Oppo上架需要接入oppo提供的广告sdk。

因为oppo提供的广告sdk也包含了穿山甲的。当我本来只接入Gromore的游戏,再接入oppo的渠道sdk之后,会被oppo识别出修改了他们的Sdk,因为包里面的穿山甲代码和oppo广告提供的穿山甲代码不一样。就会报AdCut的问题,意为裁剪修改了。

所以解决方法就是: 上硬核渠道的话,广告得用他们渠道提供的。

---------------------------------------- 以下内容为之前自己的测试 -----------------------------------------

描述

在上架Oppo的时候审核打回了发现了病毒。提示如下:

自动化检测“安全”项未通过,病毒名称:Android.Virus.AdCheat.AdCut.A,病毒描述:该病毒安装启动后,会展示非官方广告,造成盗源消耗和信息泄露,请卸载。


随即我在oppo手机上用手机管家扫描,的确也是提示这个病毒:

分析

Unity3D游戏接入了穿山甲的广告Sdk Gromore,我接入的版本为2022年12月07日15:26:28为止最新的v3.7.0.4 。而且我能确保对广告没有任何违规操作。

寻求客服

由于是上架oppo被打回,于是第一件事情肯定是先找oppo的客服,咨询一番发现客服是傻b。只会重复这一句:让开发去查。

搜索关键词

由于客服那边无法得到有效信息,于是在百度和谷歌搜索了一番。咦~竟然在oppo社区发现有类似的问题:

但是会发现他们的问题跟我的不一样,我是ADCut,他们是AutoClick或者是OutAppAD ,而且会发现这些帖子下面也有很多人出现这种问题,但是都没解决方案。

穿山甲文档

搜索引擎无果之后,因为能确定是广告问题,于是我打开了穿山甲官网,打开帮助文档,看完了全部的FAQ,没发现并没有相关描述。

穿山甲工单

最后只能寻找穿山甲的客服(工单)了。创建工单直接问:

然后穿山甲需要我自己确定是gromore还是穿山甲导致的问题(我知道个毛线),还让我提供oppo具体的检测文件(具体个毛线,oppo就给两行字爱看不看)

问题解决

经过和穿山甲工单客服的交流,最后他给我发了一个穿山甲的定制sdk。 接入后发现问题解决。

链接:https://bytedance.feishu/docs/doccnyM6p6dRmBZ1clYDUoQUcrd#SVXFHc
密码: jnUF


防止它删除,我上传了一份到云盘:
链接: https://pan.baidu/s/1ut7vy2kUkLH9K3VJ9w8G-w?pwd=ny6y
提取码: ny6y

定制Sdk接入

简单分析了一下这个定制sdk,发现主要是包名路径修改了, com.bytedance.sdk.openadsdk -> com.bykv.vk.openvk ,其余的基本不变,所以接入的时候需要注意修改对应的包名地方。由于我是Unity3D接入的Gromore,所以我接入的步骤如下:

1. 替换aar文件

msdk.androidlibModule的libs里面的open_ad_sdk_4.8.0.8.aar文件删除,复制压缩包里面的open_ad_sdk_4.8.1.1.aar进去

2. 修改部分路径

代码文件:MSDK/Scripts/Android/AdManager.java 里面有一个地方修改

    if (extraInfo instanceof Bundle) {
		//直接使用字符串:: float rewardPropose = ((Bundle) extraInfo).getFloat(TTRewardVideoAd.REWARD_EXTRA_KEY_REWARD_PROPOSE);
		float rewardPropose = ((Bundle) extraInfo).getFloat("reward_extra_key_reward_propose");
		jsonObject.put("rewardPropose", rewardPropose);
 	}


清单文件:Plugins/Android/msdk.androidlib/AndroidManifest.xml 里面的Provider路径需要修改:

        <provider
                android:name="com.bykv.vk.openvk.TTFileProvider"
                android:authorities="${applicationId}.TTFileProvider"
                android:exported="false"
                android:grantUriPermissions="true">
            <meta-data
                    android:name="android.support.FILE_PROVIDER_PATHS"
                    android:resource="@xml/pangle_file_paths" />
        </provider>
        
        <provider
                android:name="com.bykv.vk.openvk.multipro.TTMultiProvider"
                android:authorities="${applicationId}.TTMultiProvider"
                android:exported="false" />


混淆文件:也是一样,把混淆文件proguard-user里面的相关com.bytedance.sdk.openadsdk的路径都替换成com.bykv.vk.openvk 即可。

接入方法仅供参考,如果你是用原生Android的或者是其它引擎的,原理一样,换汤不换药。

本文标签: 穿山甲广告病毒AdCheatGromore