【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后的设置:

 

 

填写的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/

 

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

 

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

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

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

 

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

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

 

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

 

Unity PlayerSetting相关配置:

Google平台要求必须64位 

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

 

选中这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 Enddependencies {	
// Android Resolver Dependencies Startimplementation 'com.applovin.mediation:google-adapter:[22.5.0.0]' // Assets/MaxSdk/Mediation/Google/Editor/Dependencies.xml:5implementation 'com.applovin:applovin-sdk:12.0.0' // Assets/MaxSdk/AppLovin/Editor/Dependencies.xml:4implementation 'com.google.android.gms:play-services-ads:[22.3.0]' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7implementation '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

<dependencies><androidPackages><androidPackage spec="com.google.android.gms:play-services-ads:[22.3.0]"><repositories><repository>http://maven.aliyun.com/nexus/content/groups/public/</repository></repositories></androidPackage></androidPackages><iosPods><iosPod name="Google-Mobile-Ads-SDK" version="~> 10.9"><sources><source>https://github.com/CocoaPods/Specs</source></sources></iosPod></iosPods>
</dependencies>

改为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的

替换的是这个文件夹

Gradle Distributions 

 下载它解压找到lib文件夹 直接替换过去。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/170440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+Web实现社区医院管理服务系统项目【项目源码+论文说明】计算机毕业设计

基于springbootWeb实现社区医院管理服务系统演示 摘要 在Internet高速发展的今天&#xff0c;我们生活的各个领域都涉及到计算机的应用&#xff0c;其中包括社区医院管理服务系统的网络应用&#xff0c;在外国线上管理系统已经是很普遍的方式&#xff0c;不过国内的管理系统可…

Redis分片集群

文章目录 Redis分片集群搭建分片集群散列插槽插槽原理小结 集群伸缩需求分析创建新的redis实例添加新节点到redis转移插槽 故障转移自动故障转移手动故障转移 RedisTemplate访问分片集群 Redis分片集群 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两…

KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网

目录 一、简介 2.1 芯片的硬件 2.2 测试的方法 一、简介 KT404A远程更换语音芯片方案支持OTA 4G 蓝牙 wifi 物联网 在线下载的mp3语音芯片ic&#xff0c;通过KT404A的uart直接更换内部的语音文件&#xff0c;从而实现动态的更新语音内容 物联网大潮的来袭。随着智能家居、…

3.2 CPU的自动化

CPU的自动化 改造1-使用2进制导线改造2根据整体流程开始改造指令分析指令MOV_A的开关2进制表格手动时钟gif自动时钟gif 根据之前的CPU内部结构改造,制造一个cpu控制单元 改造一 之前的CPU全由手动开关自己控制,极度繁琐,而开关能跟二进制一一对应, 开:1, 关:0图1是之前的, …

【网络】DNS协议、ICMP协议、NAT技术

DNS协议、ICMP协议、NAT技术 一、DNS协议1、产生背景2、域名简介3、域名解析的工作流程4、使用dig工具分析DNS过程 二、ICMP协议1、ICMP介绍2、ICMP协议格式3、ping命令4、traceroute命令 三、NAT技术1、NAT技术背景2、NAT IP转换过程3、地址转换表4、NAPT技术5、重新理解路由器…

2023年亚太杯数学建模A题——深度学习苹果图像识别(思路+模型+代码+成品)

Image Recognition for Fruit-Picking Robots 水果采摘机器人的图像识别功能 问题 1&#xff1a;计数苹果 根据附件 1 中提供的可收获苹果的图像数据集&#xff0c;提取图像特征&#xff0c;建立数学模型&#xff0c;计算每幅图像中的苹果数量&#xff0c;并绘制附件 1 中所有…

佳易王各行业收银管理系统软件,企业ERP管理软件,企业或个体定制开发软件以及软件教程资源下载总目录,持续更新,可关注收藏查阅

系统简介 1、佳易王软件功能实用、操作简单、软件绿色免安装&#xff0c;解压即可使用&#xff0c;软件已经内置数据库&#xff0c;不需再安装其他数据库文件。 2、佳易王软件&#xff0c;已经形成系列&#xff0c;上百款管理系统软件涵盖多个行业。 3、已为多个企业个体定制…

在 Go 中使用 Protocol Buffers

各位准备好了吗&#xff01;这一次&#xff0c;我们将深入探讨 Protocol Buffers&#xff08;protobuf&#xff09;及其在数据序列化中的超能力所在。 介绍 Protocol Buffers&#xff0c;也被称为 protobuf&#xff0c;是由谷歌开发的一种语言无关的二进制序列化格式。其主要…

MySQL日期函数sysdate()与now()的区别,获取当前时间,日期相关函数

select sleep(2) as datetime union all select sysdate() -- sysdate() 返回的时间是当前的系统时间&#xff0c;而 now() 返回的是当前的会话时间。 union all select now() -- 等价于 localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,curre…

PyTorch-ReID重识别算法库与数据集资料汇总

Torchreid 是一个用于深度学习人员重新识别的库&#xff0c;用 PyTorch 编写&#xff0c;为我们的 ICCV’19 项目 Omni-Scale Feature Learning for Person Re-Identification 开发。 PyTorch-ReID的特点是 多GPU训练支持图像和视频 REID端到端培训和评估极其轻松地准备 Rei…

图书管理系统源码,图书管理系统开发,图书借阅系统源码三框架设计原理和说明

TuShuManger项目简介和创建 这里一共设计了6个项目,主要是借助三层架构思想分别设计了主要的三层,包括model实体层,Dal数据库操作层,Bll业务调用层,其他有公共使用项目common层,DButitly提取出来的数据库访问层,下面我们分别创建每个项目和开始搭建整个过程 TuShuManger…

nodejs+vue+python+PHP+微信小程序-书吧租阅管理系统的设计与实现-安卓-计算机毕业设计

在当今高度发达的信息中&#xff0c;信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展&#xff0c;信息时代日益更新&#xff0c;书吧租阅管理系统仍在蓬勃发展。同时&#xff0c;随着信息社会的快速发展&#xff0c;各种管理系统面临着越来越多的数据需…

柑橘病害数据集(四类图像分类,没有打yolo标签)

1.文件夹分为训练集和测试集 在这个数据集中&#xff0c;有一类是新鲜柑橘&#xff0c;还有另外三种疾病&#xff0c;溃疡病、黑斑病和绿化病。 2.train文件夹 2.1.blackspot&#xff08;黑斑病&#xff09; 文件夹 206张照片 2.2.canker&#xff08;溃疡病&#xff09; 文…

STM32 配置中断常用库函数

单片机学习 目录 一、配置AFIO相关库函数 1.1函数GPIO_AFIODeInit 1.2函数GPIO_EventOutputConfig 1.3函数GPIO_EventOutputCmd 1.4函数GPIO_EXTILineConfig 二、配置EXTI相关库函数 2.1函数EXTI_DeInit 2.2函数EXTI_Init 2.3函数EXTI_StructInit 2.4函数 EXTI_Gener…

超越噪音,让音乐重获新生:iZotope RX 10音频降噪修复软件

在音乐制作或者音频处理的过程中&#xff0c;噪音往往是一个让人头痛的问题。无论是环境噪音&#xff0c;还是设备产生的噪音&#xff0c;都会对音频质量产生重大影响。而现在&#xff0c;我们有了iZotope RX 10&#xff0c;这款专业的音频降噪修复软件&#xff0c;可以将你从噪…

C# 使用NPOI操作Excel的工具类

写在前面 NPOI是POI项目的.NET迁移版本。POI是一个开源的Java 读写 Excel、Word 等微软Ole2组件文档的项目&#xff1b;使用NPOI可以在没有安装Office或者相应环境的机器上对Word或Excel文档进行读写操作。 NPOI类库中操作EXCEL有两个模块分别是&#xff1a; 1️.HSSF模块&a…

【UCAS自然语言处理作业二】训练FFN, RNN, Attention机制的语言模型,并计算测试集上的PPL

文章目录 前言前馈神经网络数据组织Dataset网络结构训练超参设置 RNN数据组织&Dataset网络结构训练超参设置 注意力网络数据组织&Dataset网络结构Attention部分完整模型 训练部分超参设置 结果与分析训练集Loss测试集PPL 前言 本次实验主要针对前馈神经网络&#xff0…

#define例题

我们已经学了#define的所有知识&#xff0c;让我们来看这道题&#xff0c;可不要又陷入陷阱 题目要求&#xff1a; #define N 4 #define Y(n) ((N2)*n) int main() {int z 2 * (N Y(5 1));printf("z%d\n", z);return 0; } 求这个z的值是多少&#xff1f; 我们直接…

机器学习算法——主成分分析(PCA)

目录 1. 主体思想2. 算法流程3. 代码实践 1. 主体思想 主成分分析&#xff08;Principal Component Analysis&#xff09;常用于实现数据降维&#xff0c;它通过线性变换将高维数据映射到低维空间&#xff0c;使得映射后的数据具有最大的方差。主成分可以理解成数据集中的特征…

Linux加强篇005-用户身份与文件权限

目录 前言 1. 用户身份与能力 2. 文件权限与归属 3. 文件的特殊权限 4. 文件的隐藏属性 5. 文件访问控制列表 6. su命令与sudo服务 前言 悟已往之不谏&#xff0c;知来者之可追。实迷途其未远&#xff0c;觉今是而昨非。舟遥遥以轻飏&#xff0c;风飘飘而吹衣。问征夫以…