承接上一篇文章
(一)Unity导出Android工程:File ---> Build Settings,然后弹出以下弹框
(二)点击Export,选择目标位置,稍等片刻...导出成功后,用Android Studio打开这个工程代码,
(三)为了代码结构更加清晰,我们新建一个Module,然后把这个Module变成Library,我们这里实现一个功能:点击Unity界面的Button,播放AdMob广告。所以这个Module就取名adlibrary。
(四)将新建的module变成Library
(五)在build.gradle(:adlibrary)中,删除applicationId,因为Library是不允许有applicationId的
(六)将dependencies里面报红的替换成AndroidX的
(七)话分两头,上篇文章中的C# Script文件(SDKManager),我们做了修改,如下
(八)重新回来,我们修改下Android工程的包名和类名,与Unity端保持一致
(九)上面修改后,点击同步(Sync Project with Gradle Files),发现adLibrary消失了(在Android视图下),切换到Project视图后,发现其变成了一个普通的文件夹了,这个时候需要做以下修改,来让其重新变成Library。
(十)点击Button按钮,播放一个AdMob的激励广告视频,现在adlibrary的build.gradle里面添加依赖implementation'com.google.android.gms:play-services-ads:20.2.0'
(十一)删除mylibrary的清单文件中多余的东西,然后,添加 AdMob app Id
(十二)Unity在onStart()方法中,首先调用的是Android的MobileAds_Init()方法(名字自定义)
(十三)上面的方法中,需要获取Unity的上下文,通过反射来获取
(十四)加载激励视频广告的方法,如下
(十五)Android将视频加载情况告知Unity端,通过以下这个方法
(十六)展示广告
(十七)点击运行,报这个错
解决方法,在gradle.properties里面加上这行代码
(十八)点击运行,又报了个错
全局搜索并修改下。
运行成功了,FQ后,加载视频会快些,毕竟是国外的广告。