Unity3D IOS IPhone添加Admob的方法
原地址:http://dong2008hong.blog.163.com/blog/static/4696882720140403119293/
首先阅读官方文档https://developers.google.com/mobile-ads-sdk/docs/
按步就班注册获取AdMob Publisher ID已及开发SDK包和DEMO工程,确保官方的demo工程能正确运行:

如果没法运行,再仔细阅读官方文档!!
为了省事,就直接在BannerExampleViewController上修改
首先添加两个方法,1个单列1个用于显示广告的方法
+ (BannerExampleViewController* )shareBannerView;
- (id)showAdmob;
把- (void)viewDidLoad方法内容移到- (id)showAdmob;
中,并稍作修改:
- (void)viewDidLoad {
[super viewDidLoad];
}
- (id)showAdmob
{
//Initialize the banner off the screen so that it animates up when displaying
self.adBanner = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0,
self.view.frame.size.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)];
// Note: Edit SampleConstants.h to provide a definition for kSampleAdUnitID
// before compiling.
self.adBanner.adUnitID = @"a15049aa7aa110e";
self.adBanner.delegate = self;
[self.adBanner setRootViewController:self];
//[self.view addSubview:self.adBanner];
[[[UIApplication sharedApplication] keyWindow] addSubview:adBanner_];
[self.adBanner loadRequest:[self createRequest]];
return self.adBanner;
}
接下来实现单列:
static BannerExampleViewController* shareBannerView = nil;
+ (BannerExampleViewController *)shareBannerView
{
if (shareBannerView == nil) {
shareBannerView= [[BannerExampleViewController alloc] init];
}
return shareBannerView;
}
最后实现unity需要的类,创建一个UMob.mm类,该类灰常简单,只有一个方法(用于unity中C#调用),
#import "UMob.h"
#import "BannerExampleViewController.h"
@implementationUMob
extern "C"
{
void _adMob()
{
[[BannerExampleViewController shareBannerView] showAdmob];
}
}
@end
Xcode部分完成。把需要的文件拷贝到unity中,注意文件结构
Unity部分就更easy了。创建一个调用admob的类挂到场景中。
usingSystem.Collections;
usingSystem.Runtime.InteropServices;
public class AdmobCall {
[DllImport ("__Internal")]
private static extern void _adMob();
void Start () {
_adMob();
}
}
搞定!build,如果在xcode中运行出错的话,应该是缺少一些framework,具体少那些,参见文章第一行。
Unity3D IOS IPhone添加Admob的方法的更多相关文章
- iOS 封装添加按钮的方法
添加按钮 #pragma mark 添加按钮 - (void)addButtonWithImage:(NSString *)image highImage:(NSString *)highImage ...
- ios/iphone手机请求微信用户头像错位BUG及解决方法
转:http://www.jslover.com/code/527.html ios/iphone手机请求微信用户头像错位BUG及解决方法 发布时间:2014-12-01 16:37:01 评论数:0 ...
- ionic添加admob广告教程
1.在你的ionic项目中使用如下命令添加admob插件: cordova plugin add cordova-plugin-admobpro 2.添加完成后,在$ionicPlatform.rea ...
- IOS修改webView背景透明以及IOS调用前台js的方法
工作上遇到IOS的webView中的H5页面需要透明以显示webView的背景颜色.用H5自身的透明度的css样式或者js控制背景颜色及透明度都打不到想要的效果,最后还是通过ios设置webView中 ...
- DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式
在很多重阅读或者需要在夜间观看的软件其实都会把夜间模式当做一个 App 所需要具备的特性. 而如何在不改变原有的架构, 甚至不改变原有的代码的基础上, 就能为应用优雅地添加夜间模式就成为一个在很多应用 ...
- IOS 获取最新设备型号方法
1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...
- iOS设备后台播放音乐方法
iOS设备后台播放音乐方法 1 在设置Capabliites中打开Background Modes,选择Audio And AirPlay 2 在控制viewDidLoad中添加下面代码 AVAudi ...
- unity3d 给游戏添加音源 Unity3d adds a sound source to the game
unity3d 给游戏添加音源 Unity3d adds a sound source to the game 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:3131345 ...
- Unity3D的按钮添加事件有三种方式
为Unity3D的按钮添加事件有三种方式,假设我们场景中有一个Canvas对象,Canvas对象中有一个Button对象. 方式一: 创建脚本ClickObject.cs,然后将脚本添加到Canvas ...
随机推荐
- lua中pairs和ipairs的区别
标准库提供了集中迭代器,包括迭代文件每行的(io.lines),迭代table元素的(pairs),迭代数组元素的(ipairs),迭代字符串中单词的 (string.gmatch)等等.LUA手册中 ...
- 为apache与mysql创建快捷方式
为apache与mysql创建快捷方式 1)为apache创建快捷方式(软链接) 以后我们就可以在终端的任一位置,使用apachectl start|stop|restart 2)为mysql创建 ...
- 状态模式(State)
状态模式,从字面意思上来讲应该是很简单的,就是针对实际业务上的内容,当类的内部的状态发生改变时,给出不同的响应体,就像现实中的人一样,早上没有吃饭,状态不好,上班.上课都会打哈欠,中午了,吃过午饭,又 ...
- Android 悬浮窗 WindowManager WindowManager.LayoutParamas
前方高清大图~~~~ 绘制的图片资源: // draw bitmap BitmapDrawable bmpDraw = (BitmapDrawable) getResources().getDrawa ...
- 推荐一些C#相关的网站、资源和书籍
一.网站 1.http://msdn.microsoft.com/zh-CN/ 微软的官方网站,C#程序员必去的地方.那里有API开发文档,还有各种代码.资源下载. 2.http://social.m ...
- 利用Apply的参数数组化来提高代码的优雅性,及高效性
利用Apply的参数数组化来提高代码的优雅性,及高效性 Function.apply()在提升程序性能方面的技巧 我们先从Math.max()函数说起,Math.max后面可以接任意个参数,最后返回所 ...
- fast_recovery_area无剩余空间(ORA-19815)
一.问题现象 --执行日志切换时,夯住 SQL ('/u01/oradata/oracle/redo04.log') size 50m; SQL> alter system switch log ...
- oracle-11g-配置dataguard
1.环境信息:系统:oracle-linux 5.7 数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit P ...
- JavaScript 代码片段
1.无题 if (i && i.charAt(i.length - 1) == "/") { i = i.substr(0, i.length - 1) } 2.无 ...
- 【rest】 深入理解rest
起因是想搞明白 ajax.rest风格和http请求数据会有什么区别 再来回顾一下概念: REST即表述性 状态 传递 满足这些约束条件和原则的应用程序或设计就是RESTful.需要注意的是,REST ...