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

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

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

  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<AndroidJavaObject>("currentActivity");

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

jo.Call("showSpot");

最后是关于游戏的图标和名字。

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

而游戏的名字还是Unity项目中的。

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

Unity加入Android广告小结的更多相关文章

  1. 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告

    我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...

  2. Unity - 接入Android SDK

    在网络上,关于Unity与Android如何进行交互,雨松MOMO大神已经有两篇文章简单介绍了如何操作(1)Unity3D研究院之打开Activity与调用JAVA代码传递参数(2)Unity3D研究 ...

  3. Unity调用Android类方法

    Unity调用Android类方法 1.  添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...

  4. Unity在Android和iOS中如何调用Native API

    本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...

  5. Unity响应Android的返回键,退出当前Activity

    一:使用 Application.Quit() public void Update() { if(Input.GetKeyDown(KeyCode.Escape)) Application.Quit ...

  6. 极简Unity调用Android方法

    简介 之前写了篇unity和Android交互的教程,由于代码里面有些公司的代码,导致很多网友看不懂,并且确实有点小复杂,这里弄一个极简的版本 步骤 废话不多说,直接来步骤吧 1.创建工程,弄大概像这 ...

  7. Unity与Android的相互交互

    1.Unity调用Android. Unity块代码: using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.play ...

  8. 【转】unity开发android游戏(一)搭建Unity安卓开发环境

    http://blog.csdn.net/chenggong2dm/article/details/20654075 1,下载安装Java的JDK: http://www.oracle.com/tec ...

  9. Unity开发Android应用程序:调用安卓应用程序功能

    开发环境: Eclipse3.4 + adt12 + jdk6 + AndroidSDK2.2 Unity3.4 + windows7 测试设备: HTC Desire HD 本文要涉及到的几个重点问 ...

随机推荐

  1. 欧拉路径Hrbust1351

    http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1351 这道题先利用并查集的知识点, ...

  2. ajax跨域提交

    ajax跨域提交     如果在两个网站之间进行异步互动想要通过ajax时不可能的,因为header不支持xmlhttprequest这种方式的跨域提交. 但是jquery的ajax同时还提供了jso ...

  3. DB2命令大全

    1.1查看表空间 db2 list tablespaces show detail 1.2查看数据库的表死锁 方法一: 打开监控   db2 update monitor switches using ...

  4. oracle 空表无法导出

    1.执行该语句   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;  ...

  5. 学习总结 java线程

    package com.hanqi.xc; public class Test1 { public static void main(String[] args) { // 线程测试 for (int ...

  6. swing 复选框

    通过   box1 和 box2的  public boolean isSelected()的方法 返回按钮的状态. 如果选定了切换按钮,则返回 true,否则返回 false.

  7. ansible 访问内网服务器

    ssh https://medium.com/@paulskarseth/ansible-bastion-host-proxycommand-e6946c945d30#.rauzlfv0z http: ...

  8. java 进制相互转换

    public class test{ public static void main(String[]args){ //十进制转二进制. public static void toBin(int nu ...

  9. jquery ajax 保存讲解

    jquery ajax 参数传递与数据保存实例是一款适合于初学者用的,首先我们是讲一下关于如何利用ajax +php进行数据操作,然后再详细的介绍关于jquery ajax的帮助说明. jquery ...

  10. 【.NET】MD5的用法(对文件、字符串)

    using System;using System.IO;using System.Security.Cryptography;using System.Text;namespace ConsoleA ...