美文网首页
(二)Unity与Android交互之Android端实现功能

(二)Unity与Android交互之Android端实现功能

作者: 像个战士一样去战斗 | 来源:发表于2021-08-20 11:38 被阅读0次

    承接上一篇文章

    (一)Unity导出Android工程:File ---> Build Settings,然后弹出以下弹框

    Build Settings弹框

    (二)点击Export,选择目标位置,稍等片刻...导出成功后,用Android Studio打开这个工程代码,

    选Android Studio`s SDK 打开后,界面长这个样子

    (三)为了代码结构更加清晰,我们新建一个Module,然后把这个Module变成Library,我们这里实现一个功能:点击Unity界面的Button,播放AdMob广告。所以这个Module就取名adlibrary。

    新建adlibrary

    (四)将新建的module变成Library

    变成Library unityLibrary包含这个新建的Library

    (五)在build.gradle(:adlibrary)中,删除applicationId,因为Library是不允许有applicationId的

    (六)将dependencies里面报红的替换成AndroidX的

    替换依赖

    (七)话分两头,上篇文章中的C# Script文件(SDKManager),我们做了修改,如下

    C# JavaScript

    (八)重新回来,我们修改下Android工程的包名和类名,与Unity端保持一致

    包名和类名,两端保持一致

    (九)上面修改后,点击同步(Sync Project with Gradle Files),发现adLibrary消失了(在Android视图下),切换到Project视图后,发现其变成了一个普通的文件夹了,这个时候需要做以下修改,来让其重新变成Library。

    修改build.gradle(:unityLibrary)文件 修改settings.gradle

    (十)点击Button按钮,播放一个AdMob的激励广告视频,现在adlibrary的build.gradle里面添加依赖implementation'com.google.android.gms:play-services-ads:20.2.0'

    添加广告依赖

    (十一)删除mylibrary的清单文件中多余的东西,然后,添加 AdMob app Id

    添加AdMob app ID

    (十二)Unity在onStart()方法中,首先调用的是Android的MobileAds_Init()方法(名字自定义)

    初始化AdMob广告

    (十三)上面的方法中,需要获取Unity的上下文,通过反射来获取

    获取Unity的上下文

    (十四)加载激励视频广告的方法,如下

    加载激励视频

    (十五)Android将视频加载情况告知Unity端,通过以下这个方法

    Android发送消息给Unity端

    (十六)展示广告

    在主线程展示广告

    (十七)点击运行,报这个错

    报错

    解决方法,在gradle.properties里面加上这行代码

    android.useAndroidX=true

    (十八)点击运行,又报了个错

    miniSdkVersion最小是21,但现在是19

    全局搜索并修改下。

    运行成功了,FQ后,加载视频会快些,毕竟是国外的广告。

    相关文章

      网友评论

          本文标题:(二)Unity与Android交互之Android端实现功能

          本文链接:https://www.haomeiwen.com/subject/tottiltx.html