Unity加入Android广告小结
在Unity游戏加入广告大致有以下几种方式:
- 导入Android Jar包
- 导出游戏为Android项目(在Build时选中Google Android Project,这种方法可以参考将Unity3D游戏移植到Android平台上)
- 使用Unity的广告插件(详见Asset Store,如Google Mobile Ads SDK)
其中以第一种最常见,我用的也是这一种。
第一种方式的整个流程大致是这样:
- 新建一个Android项目,加入调用某种广告SDK的Java代码。
- 导出项目到Jar包,放到Unity项目中。
- 在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广告小结的更多相关文章
- 【Unity与Android】02-在Unity导出的Android工程中接入Google Admob广告
我在上一篇文章 [Unity与Android]01-Unity与Android交互通信的简易实现) 中介绍了Unity与Android通讯的基本方法. 这一篇开始进入应用阶段,这次要介绍的是如何在An ...
- Unity - 接入Android SDK
在网络上,关于Unity与Android如何进行交互,雨松MOMO大神已经有两篇文章简单介绍了如何操作(1)Unity3D研究院之打开Activity与调用JAVA代码传递参数(2)Unity3D研究 ...
- Unity调用Android类方法
Unity调用Android类方法 1. 添加Unity的classes.jar文件 创建一个Android工程AndroidUnityDemo. 由于Unity的版本不同,直接在Unity安装包文 ...
- Unity在Android和iOS中如何调用Native API
本文主要是对unity中如何在Android和iOS中调用Native API进行介绍. 首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调 ...
- Unity响应Android的返回键,退出当前Activity
一:使用 Application.Quit() public void Update() { if(Input.GetKeyDown(KeyCode.Escape)) Application.Quit ...
- 极简Unity调用Android方法
简介 之前写了篇unity和Android交互的教程,由于代码里面有些公司的代码,导致很多网友看不懂,并且确实有点小复杂,这里弄一个极简的版本 步骤 废话不多说,直接来步骤吧 1.创建工程,弄大概像这 ...
- Unity与Android的相互交互
1.Unity调用Android. Unity块代码: using (AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.play ...
- 【转】unity开发android游戏(一)搭建Unity安卓开发环境
http://blog.csdn.net/chenggong2dm/article/details/20654075 1,下载安装Java的JDK: http://www.oracle.com/tec ...
- Unity开发Android应用程序:调用安卓应用程序功能
开发环境: Eclipse3.4 + adt12 + jdk6 + AndroidSDK2.2 Unity3.4 + windows7 测试设备: HTC Desire HD 本文要涉及到的几个重点问 ...
随机推荐
- NOIP2013Day1解题报告
本来今天晚上拿13年NOIP的题目来做一下,测测能够得多少分,结果一晚上把Day1写完竟然AK了,吼吼吼 D1T1,题目:http://codevs.cn/problem/3285/ 很水的一道快速幂 ...
- Android7.0 拨号盘应用源码分析(一) 界面浅析
前言 android拨号盘的源码目录在package/app/Dialer 自7.0以后Incallui的源码直接放到了Dialer目录下,虽然在7.0以前incallui有自己独立的目录,但实际编译 ...
- C#如何在事件中获得GridView里面TextBox的值
GridView设置如下: <asp:GridView ID="GridViewlb" runat="server" AutoGenerateColumn ...
- 慕课网-安卓工程师初养成-1-6 MyEclipse的使用简介
来源 http://www.imooc.com/video/1414 http://www.my-eclipse.cn/ MyEclipse 2014 官方版下载地址 声明:MyEclipse 20 ...
- 帕金森定律(Parkinson's Law)
帕金森定律(Parkinson's Law)是官僚主义或官僚主义现象的一种别称, 是由英国历史学家.政治学家西里尔·诺斯古德·帕金森(Cyril Northcote Parkinson)通过长期调查研 ...
- Firefox下载文件时中文名乱码问题
为了形象化,先看几张不同浏览器下下载文件时的效果图: 1:Firefox 36.0.1 2:IE8 3:Chrome 40.0.2214.93 m 4:360 7.1.1.322 很明显在Firefo ...
- NOI2002 银河英雄传说
P1196 银河英雄传说 367通过 1.1K提交 题目提供者该用户不存在 标签并查集NOI系列2001(或之前) 难度提高+/省选- 提交该题 讨论 题解 记录 最新讨论 莱因哈特什么鬼? 私人代码 ...
- dom4j操作xml对象
// 获取Documen对象 public static Document getDocument(String path) throws Exception{ ...
- RAW格式
一.什么是RAW文件?RAW文件主要是一种记录了数码相机传感器的原始信息,同时伴随着一些由相机所产生的一些元数据(metadata,诸如IS0的设置.快门速度.光圈值.白平衡等)的文件.不同的相机制造 ...
- PHP超时处理全面总结(转)
[ 概述 ] 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景: 1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现 2. 为了保证Web服务器不会因为当个页面 ...