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

news2024/11/15 4:33:27

版本:
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 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

<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.coloradmin.cn/o/1244247.html

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

相关文章

windows根据已有的安卓签名文件获取MD5签名

windows根据已有的安卓签名文件获取MD5签名 0 现状 uniapp 本机号码一键登录需要MD5的&#xff0c;现有的签名文件但是只有SHA1和SHA256 查看SHA1和SHA256 keytool -list -v -keystore [你的.keystore文件]1 前提 已有生成签名文件的环境 搭建Openssl环境&#xff0c;设置…

基于Springboot+Vue选课系统

选课系统要求 (1)数据库表&#xff1a;教师信息表、学生信息表、课程表、选课表 其中&#xff0c;教师信息表、学生信息表和选课表的数据需要提前设置&#xff0c;本题主要操作课程表 (2) 技术架构&#xff1a; 后台使用springboot 前端使用vue-admin-template (3) 考试时间&…

西米支付:如何设计和构建游戏支付系统?

如何设计和构建游戏支付系统&#xff1f; 目前&#xff0c;游戏开发中最常见的支付方式包括微信支付、支付宝支付和苹果支付等。今天&#xff0c;我将与大家分享游戏支付系统的架构和设计。 游戏支付的主要业务流程是指游戏玩家在游戏中购买虚拟物品或服务所进行的支付过程。一…

鸿蒙 ark ui 轮播图实现教程

前言&#xff1a; 各位同学有段时间没有见面 因为一直很忙所以就没有去更新博客。最近有在学习这个鸿蒙的ark ui开发 因为鸿蒙不是发布了一个鸿蒙next的测试版本 明年会启动纯血鸿蒙应用 所以我就想提前给大家写一些博客文章 效果图 具体实现 我们在鸿蒙的ark ui 里面列表使…

【jvm】虚拟机之堆

目录 一、堆的核心概述二、堆的内存细分&#xff08;按分代收集理论设计&#xff09;2.1 java7及以前2.2 java8及以后 三、堆内存大小3.1 说明3.2 参数设置3.3 默认大小3.4 手动设置3.5 jps3.6 jstat3.7 OutOfMemory举例 四、年轻代与老年代4.1 说明 五、对象分配过程5.1 说明5…

开源Flutter on Desktop项目-极扩安卓开发者工具

极扩-安卓开发者工具 他能干嘛 这个Flutter on Desktop桌面项目可以辅助你开发APP&#xff0c;支持分析一些运行数据以及操作APK安装等功能&#xff0c;甚至我还加入了Window安卓子系统的功能。 在它的帮助下&#xff0c;你可以快速查看当前正在运行的Activity&#xff0c;给你…

OpenCV实现图像噪声、去噪基本方法

一、噪声分类 1、高斯噪声 指服从高斯分布&#xff08;正态分布&#xff09;的一类噪声&#xff0c;其产生的主要原因是由于相机在拍摄时视场较暗且亮度不均匀造成的&#xff0c;同时相机长时间工作使得温度过高也会引起高斯噪声&#xff0c;另外电路元器件白身噪声和互相影响…

简单聊聊加密和加签的关系与区别

大家好&#xff0c;我是G探险者。 平时我们在项目上一定都听过加密和加签&#xff0c;加密可能都好理解&#xff0c;知道它是保障的数据的机密性&#xff0c;那加签是为了保障啥勒&#xff1f;它和加密有啥区别&#xff1f; 带着这个疑问&#xff0c;我们就来聊聊二者的区别。…

【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 无法加载,docs无法加载,redocs无法使用

使用fastapi的时候&#xff0c;swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有时候无法加载&#xff08;国内环境原因或者是局域网屏蔽&#xff09;&#xff0c;此时就需要自己用魔法下载好对应文件&#xff0c;然后替换到fastapi里面去。 fastapi里面依靠这…

redis运维(十九)redis 的扩展应用 lua(一)

一 redis 的扩展应用 lua redis如何保证原子操作 说明&#xff1a;引入lua脚本,核心解决原子性问题 ① redis为什么引入lua? lua脚本本身体积小,启动速度快 ② redis引入lua的优势 小结&#xff1a; 类似自定义redis命令 ③ redis中如何使用lua ④ EVAL 说明&#…

《算法通关村——数论问题解析》

《算法通关村——数论问题解析》 辗转相除法 辗转相除法又叫做欧几里得算法,是公元前 300 年左右的希腊数学家欧几里得在他的著作《几何原本》提出的。最大公约数(greatest common divisor&#xff0c;简写为gcd&#xff09;&#xff0c;是指几个数的共有的因数之中最大的一个…

csv文件添加文件内容和读取

append content to file import numpy as np acc_listnp.array([0.97,0.92,0.93,0.89]) # 注意这个地方添加文件不需要特别声明是什么文件 file open("result.csv", "a") print("{:.2f}, {:.2f}".format(acc_list.mean(), acc_list.std()), f…

leetcode刷题日志-167.两数之和II-输入有序数组

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers.…

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题&#xff0c;后端返回异常&#xff0c;但是浏览器状态码200&#xff0c;但是看不到结果。经过排查发现&#xff0c;我们在返回结果的时候使用了json_encode返回给前端&#xff0c;结果里面的字符编码异常&#xff0c;导致json_encode异常&#xff0c;但是php…

ComfyUI搭建使用教程

ComfyUI 是一个基于节点流程式的stable diffusion AI 绘图工具WebUI&#xff0c; 你可以把它想象成集成了stable diffusion功能的substance designer&#xff0c; 通过将stable diffusion的流程拆分成节点&#xff0c;实现了更加精准的工作流定制和完善的可复现性。但节点式的工…

系列二、Spring整合单元测试

一、概述 Spring中获取bean最常见的方式是通过ClassPathXmlApplicationContext 或者 AnnotationConfigApplicationContext的getBean()方式获取bean&#xff0c;那么在Spring中如何像在SpringBoot中直接一个类上添加个SpringBootTest注解&#xff0c;即可在类中注入自己想要测试…

pytest-pytest-html测试报告这样做,学完能涨薪3k

在 pytest 中提供了生成html格式测试报告的插件 pytest-html 安装 安装命令如下&#xff1a; pip install pytest-html使用 我们已经知道执行用例的两种方式&#xff0c;pytest.main()执行和命令行执行&#xff0c;而要使用pytest-html生成报告&#xff0c;只需要在执行时加…

飞翔的小鸟小游戏

主类 package APP;import 框架.GameFrame;public class GameApp {public static void main(String[] args) {//游戏的入口new GameFrame();} }场景实物 package 框架;import 图导.Constant; import 图导.GameUtil;import java.awt.*; import java.awt.image.BufferedImage; …

VR模拟仿真技术为司法科普建设注入更多的智慧和力量

虚拟现实(VR)技术已经逐渐渗透到各个领域&#xff0c;包括司法领域&#xff0c;在法学院教学中&#xff0c;VR虚拟现实和web3d开发技术的兴起&#xff0c;让司法教育也突破传统教授式、演练式的教学模式&#xff0c;通过VR特有的沉浸式展示特点&#xff0c;实现了真实法庭效果的…

飞书如何接入ChatGPT-打造个人智能问答助手实现无障碍交流

目录 前言 环境列表 1.飞书设置 2.克隆feishu-chatgpt项目 3.配置config.yaml文件 4.运行feishu-chatgpt项目 5.安装cpolar内网穿透 6.固定公网地址 7.机器人权限配置 8.创建版本 9.创建测试企业 10. 机器人测试 总结 前言 在飞书中创建chatGPT机器人并且对话&am…