您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 市政工程 > Unity3D在现有的Android游戏场景中显示AdMob的横幅
Unity3D:在现有的Android游戏场景中显示AdMob的横幅关于如何在现有的Android项目现场显示AdMob的横幅,在一个Android项目中使用一个简单的AndroidJAR文件似乎不是一个简单的事情。我终于设法让AdMob在现有工作统一安卓游戏。对于本例,我使用统一为Windows版本3.5.2和最新的Eclipse为Android插件。先决条件我假设您有一个工作在你的电脑上安装Android的Eclipse插件。如果没有,请按照本教程准备工作区:。Eclipse/Android的部分•如果你还没有这样做,下载AdMobJAR文件并注册一个账户•创建一个新的Android项目,确保命名空间(包名称)是相同的。你可以通过构建统一设置命名空间,设置播放器设置Android选项卡其它设置“束标识符”。在我的示例中,我使用my.android.game。•复制AdMobJAR文件/libs到项目大文件夹。•在你的安装目录文件下搜索classes.jar文件,并复制到libsfolderEclipse项目文件。•为了测试现实的广告,我们首先创建一个名为AdMobActivity.javaa的常规Android类。如下所示:!--basepermission--uses-permissionandroid:name=android.permission.INTERNET/uses-permissionandroid:name=android.permission.ACCESS_NETWORK_STATE/uses-permissionandroid:name=android.permission.ACCESS_WIFI_STATE/uses-permissionandroid:name=android.permission.READ_PHONE_STATE/!--basepermissionforlocation--uses-permissionandroid:name=android.permission.ACCESS_COARSE_LOCATION/uses-permissionandroid:name=android.permission.ACCESS_FINE_LOCATION/!--basepermissionrequiredbychartboostandbaidu--uses-permissionandroid:name=android.permission.WRITE_EXTERNAL_STORAGE/!--permissionrequiredbymmedia--uses-permissionandroid:name=android.permission.RECORD_AUDIO/uses-featureandroid:name=android.hardware.microphoneandroid:required=false/•更新你的Eclipse项目的AndroidManifest.Xml文件。如下所示:activityandroid:name=com.jirbo.adcolony.AdColonyOverlayandroid:configChanges=keyboardHidden|orientation|screenSizeandroid:theme=@android:style/Theme.Translucent.NoTitleBar.Fullscreen/activityandroid:name=com.jirbo.adcolony.AdColonyFullscreenandroid:configChanges=keyboardHidden|orientation|screenSizeandroid:theme=@android:style/Theme.Black.NoTitleBar.Fullscreen/activityandroid:name=com.jirbo.adcolony.AdColonyBrowserandroid:configChanges=keyboardHidden|orientation|screenSizeandroid:theme=@android:style/Theme.Black.NoTitleBar.Fullscreen/!--guangdiantong--serviceandroid:name=com.qq.e.comm.DownloadServiceandroid:exported=false/activityandroid:name=com.qq.e.ads.ADActivityandroid:configChanges=keyboard|keyboardHidden|orientation|screenSize/确保用实际来取代YOUR_PUBLISHER_IDAdMob发行商ID。•在Android手机上构建和运行应用程序,你将会看到AdMob的横幅被显示。如果你不参阅AdMob教程如何为Android应用程序实施横幅,将依旧实行本教程。•创建一个类称为AdMobUnityActivity.java,你可以用你以前创建的AdMobActivity.java类作为基础。类是这样的:activityandroid:name=com.amazon.device.ads.AdActivityandroid:configChanges=keyboardHidden|orientation|screenSize/!--InMobi--activityandroid:name=com.inmobi.androidsdk.IMBrowserActivityandroid:configChanges=keyboardHidden|orientation|keyboard|smallestScreenSize|screenSizeandroid:theme=@android:style/Theme.Translucent.NoTitleBarandroid:hardwareAccelerated=true/!--MillennialMedia--activityandroid:name=com.millennialmedia.android.MMActivityandroid:theme=@android:style/Theme.Translucent.NoTitleBarandroid:configChanges=keyboardHidden|orientation|keyboard|screenSize/activity!--Keymob--activityandroid:name=com.keymob.sdk.core.KeymobActivityandroid:theme=@android:style/Theme.Dialogandroid:configChanges=keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize/android:name=com.google.android.gms.ads.AdActivityandroid:configChanges=keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSizeandroid:theme=@android:style/Theme.Translucent/现在的类扩展UnityPlayerActivity相反的活动,我们创建的静态函数setupAdsStatic()离开oncreate()功能几乎是空的。我们也要把这一功能的全部内容包含到AdManager.getInstance().initFromKeymobService(this,1,newAdEventListener(),false);否则我们将在调用函数时会得到一个错误或崩溃,还有一些内容在功能略有不同,以使它与Unity合作。•不完全确定以下步骤是必要的,但仅仅只有这么做了:AndroidManifest添加这一行,xml文件内应用程序标签:activityandroid:name=com.amazon.device.ads.AdActivity•将项目导出到一个JAR文件,在项目中单击鼠标右键点击包管理器,选择导出。现在你完成了在Eclipse中一部分,我们必须添加插件到Unity3D。Unity部分•复制创建JAR文件到你的UnityAndroid项目中,插入文件夹/插件/Android/•同时复制AdMobJAR文件到相同的文件/插件/Android/•完整的AndroidManifest.xml文件位于UnityAndroid项目,内容如下classAdEventListenerimplementsIAdEventListener{@OverridepublicvoidonLoadedSuccess(intarg0,Objectarg1,PlatformAdapterarg2){Log.d(TAG,arg2+onLoadedSuccessfortype+arg0+withdata+arg1);if(arg0==AdTypes.INTERSTITIAL){((IInterstitialPlatform)arg2).showInterstitial();//广告加载成功的时候就}}@OverridepublicvoidonLoadedFail(intarg0,Objectarg1,PlatformAdapterarg2){Log.d(TAG,arg2+onLoadedFailfortype+arg0+withdata+arg1);}@OverridepublicvoidonAdOpened(intarg0,Objectarg1,PlatformAdapterarg2){Log.d(TAG,arg2+onAdOpenedfortype+arg0+withdata+arg1);}@OverridepublicvoidonAdClosed(intarg0,Objectarg1,PlatformAdapterarg2){Log.d(TAG,arg2+onAdClosedfortype+arg0+withdata+arg1);}@OverridepublicvoidonAdClicked(intarg0,Objectarg1,PlatformAdapterarg2){Log.d(TAG,arg2+onAdClickedfortype+arg0+withdata+arg1);}@OverridepublicvoidonOtherEvent(StringeventName,intadtype,Objectdata,PlatformAdapteradapter){Log.d(TAG,adapter+onLoadedSuccessfortype+adtype+withEvent+eventName);}}确保在Eclipse项目中命名是正确的,改变YOUR_PUBLISHER_ID价值与实际价值的AdMob发行商ID。如果您已使用其他的Android插件,则会与本文所介绍的不同。•最终显示的广告横幅在现场UnityAndroid游戏创建或修改以下内容c#脚本:uses-permissionandroid:name=android.permission.INTERNET/uses-permissionand
本文标题:Unity3D在现有的Android游戏场景中显示AdMob的横幅
链接地址:https://www.777doc.com/doc-2865027 .html