文档章节

Unity Android平台的AdMob的应用

大街小巷
 大街小巷
发布于 2016/02/24 11:54
字数 1205
阅读 41
收藏 0

开发环境
Window7
Unity3D 3.4.1
MB525defy Android 2.2.1

学习:
Eclipse错误的解决方案应用

错误解决方案
(1)Java错误
解决办法有两个:首先是项目 - >清除,然后勾上自动构建,可以解决一类常见的问题。其次是窗口 - >首选项 - >Java - >构建路径中的项目 - >应用,可以解决一些意想不到的问题。

(2)错误产生最终的归档错误
这样的错误,是因为证书到期造成的,一般证书的有效期为一年或一年以上,所有新的Android项目将是一个没有理由的错误,该解决方案是窗口 - >首选项 - > Android - >生成默认的调试密钥库的目录,复制内部地址到两个文件夹打开删除调试。密钥库和ddms.cfg,重新启动Eclipse可以解决。

AdMob应用
首先,Eclipse Android项目导入项目出现AdMob(导入>现有项目导入到工作区),将得到一个错误。

然后选择修改引用到项目文件右键- >属性- > Java构建路径内库, admob-sdk-android.jar,和classes.jar文件重新编辑库里面,对订单和出口检查。

注:网上的AdMob-sdk-android.jar包的AdMob SDK自己的一些方法,但不是最新的版本,下载学生的最新版本要注意的Android系统版本,最好超过3.2,否则,广告栏会显示一段时间的Error. classes.jar Unity,你可以知道出现的位置不再是引入了搜索。

如果不出意外,这应该是完全没有错误,错误见上文和Eclipse错误的说明。下面我们来看一下代码
AdMob.java
<!-- Admob -->
<meta-data android:name="com.google.android.gms.version"  android:value="7327000" />
<activity  android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"    android:theme="@android :style/Theme.Translucent"/>

<!-- Amazon Mobile Ads -->
<activity android:name="com.amazon.device.ads.AdActivity"
android:configChanges="keyboardHidden|orientation|screenSize"/>

<!-- InMobi -->
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"
android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
android:theme="@android :style/Theme.Translucent.NoTitleBar"
android:hardwareAccelerated="true" />

<!-- Millennial Media -->
<activity android:name="com.millennialmedia.android.MMActivity"
android:theme="@android :style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|keyboard|screenSize" ></activity>

<!-- Keymob -->
<activity android:name="com.keymob.sdk.core.KeymobActivity"   android:theme="@android :style/Theme.Dialog"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

<!-- baidu -->
<activity android:name="com.baidu.mobads.AppActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>

<!-- adcolony -->
<activity android:name="com.jirbo.adcolony.AdColonyOverlay" android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android :style/Theme.Translucent.NoTitleBar.Fullscreen" />

<activity android:name="com.jirbo.adcolony.AdColonyFullscreen" android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />

<activity android:name="com.jirbo.adcolony.AdColonyBrowser" android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />

AndroidMainifest.xml
<meta-data android:name="com.google.android.gms.version"    android:value="8115000" />
<activity   android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"   android:theme="@android:style/Theme.Translucent"/>

<!-- Amazon Mobile Ads -->
<activity android:name="com.amazon.device.ads.AdActivity"
android:configChanges="keyboardHidden|orientation|screenSize"/>

<!-- InMobi -->
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"
android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:hardwareAccelerated="true" />

<!-- Millennial Media -->
<activity android:name="com.millennialmedia.android.MMActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|keyboard|screenSize" ></activity>

<!-- Keymob -->
<activity android:name="com.keymob.sdk.core.KeymobActivity"   android:theme="@android:style/Theme.Dialog"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

这是一个典型的Android项目的代码,有几件事情需要注意,如果你想在自己的应用中使用,根据参考结构的出现创建新的项目,这两个文件的出现自定义名称变出即可。Android:价值在AdMob ID填写申请。出现简化代码到最低限度,所以没有使用资源,如果你想在需要的自定义图标去修改AndroidManifest实现。在一个Android博客上Feather有提到这个命令可以防止睡眠。必须用同一个Unity包,当Eclipse项目运行肯定是一个错误。

当上述没有问题把AdMob.java jar,选择AdMob单击鼠标右键 - >导出 - > Java - > JAR文件 - >下一页

选择你的JAR文件的路径和名称,直接完成这个jar包,它仅包括已编译AdMob.class非常小,很干净。然后打开出现的Unity项目AdMob的测试(文件 - >打开项目),双击UnityAdMob,你只能看到一个摄像头。以上只有一个脚本Ad.cs.

Ad.cs
            class AdEventListener implements IAdEventListener {
            @Override
            public void onLoadedSuccess(int arg0, Object arg1,
                        PlatformAdapter arg2) {
            Log.d(TAG, arg2+" onLoadedSuccess for type "+arg0 +" withdata "+arg1);
            if(arg0==AdTypes.INTERSTITIAL){
                ((IInterstitialPlatform)arg2).showInterstitial();//广告加载成功的时候就
            }
        }

        @Override
        public void onLoadedFail(int arg0, Object arg1, PlatformAdapter arg2) {
            Log.d(TAG, arg2+" onLoadedFail for type "+arg0 +" withdata "+arg1);
        }

        @Override
        public void onAdOpened(int arg0, Object arg1, PlatformAdapter arg2) {
            Log.d(TAG, arg2+" onAdOpened for type "+arg0 +" withdata "+arg1);
        }

        @Override
        public void onAdClosed(int arg0, Object arg1, PlatformAdapter arg2) {
            Log.d(TAG, arg2+" onAdClosed for type "+arg0 +" withdata "+arg1);
        }

        @Override
        public void onAdClicked(int arg0, Object arg1, PlatformAdapter arg2) {
            Log.d(TAG, arg2+" onAdClicked for type "+arg0 +" withdata "+arg1);
        }

        @Override
        public void onOtherEvent(String eventName, int adtype, Object data,
                PlatformAdapter adapter) {
            Log.d(TAG, adapter+" onLoadedSuccess for type"+adtype +" withEvent "+eventName);
        }
    }

看起来很简单,而且确实不难,首先建立插件 - > Android -> bin | libs这个文件集,在Eclipse项目AndroidManifest.xml中放置Android目录,UnityAdMob.jar包就可以了,这种重写的AdMob SDK的库注:捆绑标识符设置为相同的名称和Eclipse项目包,即使没有Ad.cs程序运行也运行一个广告,这个C#类的广告交换,以及里面的两款Android JNI.FindClass(“XXX”)进行修改。

操作结果:这应该是能够满足大部分的显示位置的麻烦修改显示的广告。

© 著作权归作者所有

大街小巷
粉丝 8
博文 208
码字总数 130367
作品 0
长沙
私信 提问
Unity 游戏引擎的移动基本版从今天起免费提供

著名游戏引擎Unity的移动基本版从今天起免费,这意味着 iOS, Android 和 BlackBerry 10 的开发者门槛进一步降低。在今年的 Unite 2013 大会上,Unity CEO David Helgason 宣布,原本需要分别...

oschina
2013/05/22
7.5K
41
Unity中怎么植入Google Admob原生广告

原生广告是样式和游戏App内容嵌入最贴切的一种广告,可以自己设置广告的样式达到和产品整体协调统一,常见的新闻列表中夹杂的广告,游戏图片中夹杂的广告等 Unity之前包含2中原生广告,一种叫...

unityvrgame
2018/03/10
336
0
在 Unity 多人游戏中实现语音对话

我们曾经不止一次为大家分享过游戏中的实时音视频,例如怎么实现游戏中的听声辨位、狼人杀游戏中的语音聊天挑战等。基本上,都是从技术原理和 Agora SDK 出发来分享的。这次我们换一个角度。...

声网Agora
04/03
0
0
Unity 下集成第三方原生 SDK,以极光厂商通道为例

Unity 项目开发中时常有集成 Android 第三方 SDK 的需求,比如接入第三方推送,分享等功能。而第三方 SDK 的集成文档提到的往往是基于原生 Android 项目集成。 第一种 导出 gradle 项目进行集...

极光推送
2018/11/12
0
0
Unity切换到安卓平台Shader丢失

Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 -force-gles20 示例:"C:Program FilesUnity537p4Edito...

赵青青
2018/12/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

面试爱奇艺,竟然挂在第5轮……

今天给大家分享我曾经在爱奇艺的面试,过程还是比较有意思的,可以给大家一些参考 <br> 聊骚阶段 嗲妹妹:你好,我是爱奇艺的HR,我们正在招聘运维开发岗位,请问您最近有在看工作机会吗? ...

上海小胖
53分钟前
4
0
Jenkins系列_插件安装及报错处理

进入Jenkins之后我们可以进行插件的安装,插件管理位于以下模块: 发现上面报了一堆错误,是因为插件的依赖没有安装好,那么这一节,就先把这些错误解决掉吧。解决完成后,也就基本会使用插件...

shzwork
今天
2
0
mysql mysql的所有查询语句和聚合函数(整理一下,忘记了可以随时看看)

查询所有字段 select * from 表名; 查询自定字段 select 字段名 from 表名; 查询指定数据 select * from 表名 where 条件; 带关键字IN的查询 select * from 表名 where 条件 [not] in(元素...

edison_kwok
昨天
9
0
解决多线程并行加载缓存问题(利用guava实现)

依赖 com.google.guava:guava:20.0 import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import j......

暗中观察
昨天
4
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部