在Unity游戏加入广告大致有以下几种方式:

  • 导入Android Jar包
  • 导出游戏为Android项目(在Build时选中Google Android Project,这种方法可以参考将Unity3D游戏移植到Android平台上)
  • 使用Unity的广告插件(详见Asset Store,如Google Mobile Ads SDK)

其中以第一种最常见,我用的也是这一种。

第一种方式的整个流程大致是这样:

  1. 新建一个Android项目,加入调用某种广告SDK的Java代码。
  2. 导出项目到Jar包,放到Unity项目中。
  3. 在Unity中调用Java写好的方法。

这个过程可以参考这两篇文章:unity3d插入android有米广告和Unity 3D 关于给APK包加广告的流程。
如果你按照步骤成功加入了广告,可以跳过下面的部分。我在这个过程中遇到了几个问题。

第一个是 CommandInvokationFailure: Failed to re-package resources。
出现这个问题的原因是Android的资源没有整合好。首先检查下文件层次结构:

Assetes/
--------Plugins/
----------------Android/
------------------------AndroidManifest.xml
------------------------SDK文件
------------------------导出的Jar包

如果仍然有问题,看看是不是我遇到的 AppCompat 相关的问题。我对Android了解的不多,解决的方法也不见得高明:

  • 在建立Android项目时,不要创建主题。
  • 最低版本选择4.0以上。

好了,问题解决了。

在Java项目里面,根据SDK文档,一般都是写好了一些方法,可以让你方便地创建广告条、插屏广告之类的。
在Unity中选择一个GameObject,使用下面代码得到Java类的对象:

jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");  jo = jc.GetStatic("currentActivity");  

然后用 AndroidJavaObject 的 Call 方法即可,如:

jo.Call("showSpot");

最后是关于游戏的图标和名字。
如此加入广告代码之后,Unity项目的图标会被Android项目中的覆盖。所以,最方便的是在创建Android项目时就确定Icon。
而游戏的名字还是Unity项目中的。

以上都是我在尝试向Unity中加入广告时,参考他人博客和自己摸索得出的,如有错误请指出。请以广告SDK文档为准。

更多相关文章

  1. Android studio创建java项目
  2. Android 3D 游戏学习笔记(4)-光源
  3. Android 项目开发填坑记 - 使用 MultiDex 解决 64K 限制
  4. Android项目--团购类客户端
  5. 介绍自己的一个Android插桩热修复框架项目QuickPatch
  6. Android开发者必须深入学习的10个应用开源项目
  7. Android项目结构和AndroidManifest.xml
  8. 从零开始的 Android 新项目 - 收藏集 - 掘金
  9. Android3D游戏开发感觉

随机推荐

  1. android samplerExternalOES 纹理
  2. Google应用在Android上的Push机制以及C2D
  3. Android项目总结5
  4. Eclipse使用
  5. android通过Camera录制视频
  6. 在mac上运行android的intel模拟器导致的
  7. Android.bp正确姿势添加宏控制编译指南
  8. 64位win7下Android SDK Manager闪退的解
  9. Android(安卓)布局 Layout_weight 详解
  10. Android4.2.2 Gallery2源码分析(8)——假