(二)Unity與Android交互之Android端實(shí)現(xiàn)功能

承接上一篇文章

(一)Unity導(dǎo)出Android工程:File ---> Build Settings,然后彈出以下彈框

Build Settings彈框

(二)點(diǎn)擊Export,選擇目標(biāo)位置,稍等片刻...導(dǎo)出成功后,用Android Studio打開這個工程代碼,

選Android Studio`s SDK
打開后,界面長這個樣子

(三)為了代碼結(jié)構(gòu)更加清晰,我們新建一個Module,然后把這個Module變成Library,我們這里實(shí)現(xiàn)一個功能:點(diǎn)擊Unity界面的Button,播放AdMob廣告。所以這個Module就取名adlibrary。

新建adlibrary

(四)將新建的module變成Library

變成Library
unityLibrary包含這個新建的Library

(五)在build.gradle(:adlibrary)中,刪除applicationId,因?yàn)長ibrary是不允許有applicationId的

(六)將dependencies里面報紅的替換成AndroidX的

替換依賴

(七)話分兩頭,上篇文章中的C# Script文件(SDKManager),我們做了修改,如下

C# JavaScript

(八)重新回來,我們修改下Android工程的包名和類名,與Unity端保持一致

包名和類名,兩端保持一致

(九)上面修改后,點(diǎn)擊同步(Sync Project with Gradle Files),發(fā)現(xiàn)adLibrary消失了(在Android視圖下),切換到Project視圖后,發(fā)現(xiàn)其變成了一個普通的文件夾了,這個時候需要做以下修改,來讓其重新變成Library。

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

(十)點(diǎn)擊Button按鈕,播放一個AdMob的激勵廣告視頻,現(xiàn)在adlibrary的build.gradle里面添加依賴implementation'com.google.android.gms:play-services-ads:20.2.0'

添加廣告依賴

(十一)刪除mylibrary的清單文件中多余的東西,然后,添加 AdMob app Id

添加AdMob app ID

(十二)Unity在onStart()方法中,首先調(diào)用的是Android的MobileAds_Init()方法(名字自定義)

初始化AdMob廣告

(十三)上面的方法中,需要獲取Unity的上下文,通過反射來獲取

獲取Unity的上下文

(十四)加載激勵視頻廣告的方法,如下

加載激勵視頻

(十五)Android將視頻加載情況告知Unity端,通過以下這個方法

Android發(fā)送消息給Unity端

(十六)展示廣告

在主線程展示廣告

(十七)點(diǎn)擊運(yùn)行,報這個錯

報錯

解決方法,在gradle.properties里面加上這行代碼

android.useAndroidX=true

(十八)點(diǎn)擊運(yùn)行,又報了個錯

miniSdkVersion最小是21,但現(xiàn)在是19

全局搜索并修改下。

運(yùn)行成功了,F(xiàn)Q后,加載視頻會快些,畢竟是國外的廣告。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容