Unity加入Android广告小结

在Unity游戏加入广告大体有如下几种方式:html

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

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

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

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

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

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

若是仍然有问题,看看是否是我遇到的 AppCompat 相关的问题。我对Android了解的很少,解决的方法也不见得高明:3d

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

好了,问题解决了。code

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

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

而后用 AndroidJavaObject 的 Call 方法便可,如:htm

jo.Call("showSpot");

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

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

相关文章
相关标签/搜索