第一种方法:通过Google的AdMob SDK 添加
首先阅读官方文档 https://developers.google.com/mobile-ads-sdk/docs/
按步就班注册获取AdMob Publisher ID已及开发SDK包和DEMO工程,确保官方的demo工程能正确运行:
如果没法运行,再仔细阅读官方文档!!
为了省事,就直接在BannerExampleViewControl
首先添加两个方法,1个单列1个用于显示广告的方法
+ (BannerExampleViewControl
- (id)showAdmob;
把- (void)viewDidLoad方法内容移到- (id)showAdmob;
中,并稍作修改:
- (void)viewDidLoad {
}
- (id)showAdmob
{
self.view.frame.size.height,
}
接下来实现单列:
static BannerExampleViewControl
+ (BannerExampleViewControl
{
}
最后实现unity需要的类,创建一个UMob.mm类,该类灰常简单,只有一个方法(用于unity中C#调用),
#import "UMob.h"
#import "BannerExampleViewControl
@implementation UMob
extern "C"
{
}
@end
Xcode部分完成。把需要的文件拷贝到unity中,注意文件结构
Unity部分就更easy了。创建一个调用admob的类挂到场景中。
usingSystem.Collections;
usingSystem.Runtime.InteropServices;
public class AdmobCall {
}
第二种方法:通过Unity3d自带的ADBannerView添加,不过他的iTunes的connection要设置为enable。具体代码如下:
using UnityEngine;
using System.Collections;
public class ADBannerViewManager :MonoBehaviour
{
#if UNITY_IPHONE
private IEnumerator ShowBanner()
{
while (!_banner.loaded && _banner.error == null)
{
yield returnnull;
}
if (_banner.error == null)
{
_banner.Show();
}
else
{
_banner =null;
}
}
private void Start()
{
_banner =new ADBannerView();
_banner.autoSize =true;
_banner.currentSizeIdentifier =ADSizeIdentifier.Portrait;
_banner.autoPosition =ADPosition.Top;
StartCoroutine(ShowBanner());
}
privateADBannerView _banner;
#endif
}
搞定!build,如果在xcode中运行出错的话,应该是缺少一些framework,具体少那些,参见文章第一行。