【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob

版本:
Unity:2019.4.35f1
gradle plugin: 4.2.0 (实际要7.0+ 对应build_tools:34.0.0)
gradle: 6.7.1 (实际要7.0+ 对应build_tools:34.0.0)

jdk: 1.8.0_241
build_tools: 34.0.0
ndk: android-ndk-r19

文档:
6.0.1(Android 12.0.0 & iOS 12.0.0) MAX聚合广告Unity:MAX Mediation Documentation

8.5.3 Google Admob:Releases · googleads/googleads-mobile-unity · GitHub 

应对gradle和build_tools版本不对可能引起的报错 提示34.0.0损坏解决方法:
Android Installed Build Tools revision 34.0.0 is corrupted. Remove and install again using the SDK-CSDN博客

 (即修改build_tools目录下的d8.bat和 build_tools/lib下的d8.jar 命名都改为dx,后缀不变.)

正常应找到对应的gradle版本 设置正确的gradle plugin版本.

升级 Gradle for Android  |  Unity  |  Google for Developers

要注意Google Admob方面的插件要求gradle版本,我这里是用了最新的版本所以用了4.2.0 gradle插件。

将max sdk unity插件包和google admob插件包导入Unity后的设置:

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第1张图片

 【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第2张图片

 【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第3张图片

填写的ID是谷歌Admob那边的应用ID,而不是广告ID。

asset菜单下的(同理填的是Google Admob应用id

坑点:在MAX聚合广告文档里你会看到有个SDK KEY,如果你用了中文翻译可能是错误的KEY,最好是去到聚合广告控制台里找到你的应用SDK KEY,且不要翻译为中文,错误的KEY我是检查到了是有大小写问题,要打开大小写识别去检查所有KEY是否正确。

聚合广告MAX控制台
AppLovin - Sign in

谷歌Admob控制台
https://apps.admob.com/

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第4张图片 

这里去添加广告单元,注意什么类型的广告必须要用具体的API去加载和显示广告以及对应的回调也是,如果广告无法正常加载说明可能就是用错了API或广告ID不对。

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第5张图片

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第6张图片 

比如上面我选择了Rewarded类型激励广告,就必须要用激励广告API

这里必须要关联Google Admob(Admob就是Google的)它要填App id和Ad Unit ID,这个Ad Unit ID不是指聚合广告SDK的 我们现在创的聚合广告ID,而是指谷歌Admob的广告ID。

这个谷歌广告ID要去到Admob控制台创建广告单元,并且将广告单元设置为中介。 

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第7张图片 

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第8张图片

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第9张图片

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第10张图片

然后将会得到一个广告ID,将它设置到聚合广告那边。

我们使用聚合广告SDK的API加载和显示广告都是传入聚合广告ID,而不是Google Admob的广告ID,其实就是一个聚合广告ID能关联多个其他平台的广告ID,它会用一套优先规则去选择展示哪个平台的广告。

 

CPM Price是每千次广告播放带来的收益,这个不是很懂 我目前随便设置1的 

 

Unity PlayerSetting相关配置:

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第11张图片

Google平台要求必须64位 

主要是Target API Level选自动最高,即34  实际33就满足所有包的要求

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第12张图片 

选中这4个,之后去Force Resolve会瞬间成功,实际上就是加了一些依赖配置到mainTemplate.gradle,你必须勾选Custom Main Gradle Template选项才是这样不然就是帮你直接加载依赖文件到Plugin/Android文件夹下(会很慢而且可能会失败!推荐这样做)

加到mainTemplate.gradle的依赖项会在构建build时帮你下载依赖,这个很快就成功。

mainTemplate.gradle我的是会自动添加如下配置:
 

// Android Resolver Repos Start
([rootProject] + (rootProject.subprojects as List)).each { project ->
    project.repositories {
        def unityProjectPath = $/file:///**DIR_UNITYPROJECT**/$.replace("\\", "/")
        maven {
            url "https://maven.google.com"
        }
        maven {
            url "http://maven.aliyun.com/nexus/content/groups/public/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
        }
        maven {
            url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7
        }
        mavenLocal()
        mavenCentral()
    }
}
// Android Resolver Repos End

dependencies {	
// Android Resolver Dependencies Start
    implementation 'com.applovin.mediation:google-adapter:[22.5.0.0]' // Assets/MaxSdk/Mediation/Google/Editor/Dependencies.xml:5
    implementation 'com.applovin:applovin-sdk:12.0.0' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4
    implementation 'com.google.android.gms:play-services-ads:[22.3.0]' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
    implementation 'com.google.android.ump:user-messaging-platform:2.1.0' // Assets/GoogleMobileAds/Editor/GoogleUmpDependencies.xml:7
// Android Resolver Dependencies End
}

// Android Resolver Exclusions Start test
android {
  packagingOptions {
      exclude ('/lib/armeabi/*' + '*')
      exclude ('/lib/armeabi-v7a/*' + '*')
      exclude ('/lib/mips/*' + '*')
      exclude ('/lib/mips64/*' + '*')
      exclude ('/lib/x86/*' + '*')
      exclude ('/lib/x86_64/*' + '*')
  }
}
// Android Resolver Exclusions End

因为我当时想通过Force Resolve直接下载依赖资源到工程的,所以改了maven镜像路径,改动地方是Assets\GoogleMobileAds\Editor\GoogleMobileAdsDependencies.xml


  
    
      
        http://maven.aliyun.com/nexus/content/groups/public/
      
    
  

  
    
      
        https://github.com/CocoaPods/Specs
      
    
  

改为http://maven.aliyun.com/nexus/content/groups/public/    阿里云镜像,能加快下载google依赖

baseProjectTemplate.gradle里修改

            classpath 'com.android.tools.build:gradle:4.2.0'

 4.2.0就是gradle plugin版本,对应gradle 6.7.1

2019版本Unity工程默认是3.4.0版本 对应gradle 5.1.1
Android studio版本对用的gradle版本和插件版本(注意事项)_gradle版本和gradle插件版本-CSDN博客

可以去到工程查看,使用这个勾选上,就是用工程默认的gradle 我是直接替换了默认的gradle的

替换的是这个文件夹

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第13张图片

Gradle Distributions 

【Unity】接入MAX聚合广告SDK Applovin + GoogleAdmob_第14张图片 下载它解压找到lib文件夹 直接替换过去。

最后测试我是接入了谷歌登录的,然后正常连登录一个谷歌邮箱进去游戏,播广告成功,有问题就是MUMU模拟器12 在播完广告 点击X  退出广告时闪退 ...

你可能感兴趣的:(Unity3d,个人见解,unity,游戏引擎)