一:前提条件
下载适用于Android 或IOS的Google移动广告SDK

二:实用的入门信息
如果您使用采用Android或IOS代码的OpenGL来集成Google 移动广告,快速入门指南 (Android | IOS) 和插页式广告指南(Android |IOS) 是很好的入门信息,可帮助您了解如何使用SDK。

三:OpenGL 游戏 - 横幅广告
如果您使用基于OpenGL的游戏引擎,但使用原生的Android和IOS SDK 来集成广告,我们建议您仅在游戏暂停或结束时,或者在用户未主动玩游戏的屏幕上展示横幅广告。这样做的优势在于:
1:更好的用户体验 - 用户不希望在玩游戏的过程中被广告干扰

2:效果 - 广告可能会影响游戏的帧速率

3:防止出现意外点击

以下示例说明如何使用最少的代码添加横幅广告。在适当的时间加载横幅广告则是您的责任。

四:IOS
此示例基于SpriteKit,但适用于所有框架。当为SpriteKit游戏创建新的 Xcode 项目时,您的GameViewController的viewDidLoad方法的样板代码如下所示:
- (void)viewDidLoad{

[super viewDidLoad];

// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;

/* Sprite Kit applies additional optimizations to improve rendering performance */

skView.ignoresSiblingOrder = YES;

// Create and configure the scene.
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
scene.scaleMode = SKSceneScaleModeAspectFill;

[skView presentScene:scene];

}

将SDK添加到项目后,请更新viewDidLoad方法以加入一个横幅广告。在此示例中,我们使用了智能横幅广告格式并在屏幕左上方将其初始化:
- (void)viewDidLoad {

[super viewDidLoad];

// Create a banner ad and add it to the view hierarchy.
self.bannerView = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];

self.bannerView.hidden=YES;
self.bannerView.adUnitID=@"ca-app-pub-3940256099942544/2934735716";
self.bannerView.rootViewController=self;
[self.view addSubview:self.bannerView];

// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;

/* Sprite Kit applies additional optimizations to improve rendering performance */

skView.ignoresSiblingOrder = YES;

// Create and configure the scene.
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
scene.scaleMode = SKSceneScaleModeAspectFill;

// Present the scene.
[skView presentScene:scene];

}

要解决编译错误,请在文件上部导入GADBannerView并添加bannerView属性。

#import "GADBannerView.h"

@interface GameViewController()

@property(nonatomic, strong) GADBannerView *bannerView;

@end

您的应用现在已经可以展示横幅广告了。剩下的一个步骤是显示广告和发送广告请求。这可以采用名为showBanner的辅助方法来完成:

- (void)showBanner {
self.bannerView.hidden = NO;
GADRequest *request = [GADRequest request];
request.testDevices = @[ GAD_SIMULATOR_ID ];
[self.bannerView loadRequest:request];

}

调用showBanner之后,您的游戏将显示一个横幅广告。

您希望在用户玩游戏期间将广告隐藏起来,这可以通过调用 hideBanner方法来完成:
- (void)hideBanner {

self.bannerView.hidden = YES;

}

游戏结束时,请再次调用showBanner方法以刷新并显示广告。

五:Android
大部分基于OpenGL的Android游戏都使用SurfaceView的形式。您的主活动如下所示:
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SurfaceView gameView = new SurfaceView(this);
setContentView(gameView);
}

}

以下示例使用RelativeLayout将智能横幅广告固定在屏幕底部。
public class MainActivity extends Activity {
private AdView adView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

SurfaceView gameView = new SurfaceView(this);

// Create and load the AdView.
adView = new AdView(this);
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");
adView.setAdSize(AdSize.SMART_BANNER);

// Create a RelativeLayout as the main layout and add the gameView.
RelativeLayout mainLayout = new RelativeLayout(this);
mainLayout.addView(gameView);

// Add adView to the bottom of the screen.
RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
mainLayout.addView(adView, adParams);

// Set the RelativeLayout as the main layout.
setContentView(mainLayout);
}

}

您的应用现在已经可以展示横幅广告了。剩下的一个步骤是显示广告和发送广告请求。这可以采用名为showBanner的辅助方法来完成:

private void showBanner() {
adView.setVisibility(View.VISIBLE);

adView.loadAd(new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());

}

调用showBanner之后,您的游戏将显示一个横幅广告。

您希望在用户玩游戏期间将广告隐藏起来,这可以通过调用hideBanner方法来完成:
private void hideBanner() {

adView.setVisibility(View.GONE);

}
游戏结束时,请再次调用showBanner方法以刷新并显示广告。

KeyMob是一个专业的移动应用广告管理工具,他可以集成admob广告、iad、等众多流行广告平台。即可以集成Android版还可以集成IOS版OpenGL游戏引擎。可以看出KeyMob对各个平台集成是最方便快捷,支持的平台也比较多。无需单独的SDK来集成,还可以在应用内进行交叉推广的广告聚合平台。唯一存在不足之处就是他的发展历史比较晚,了解这个工具的人比较少,但是随着互联网在发展,KeyMob也在不断地升级与优化之中。

更多相关文章

  1. Android(安卓)程式开发:(一)详解Activity —— 1.1生命周期
  2. 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等
  3. 创业&Android
  4. Android(安卓)LayoutInflater原理分析,带你一步步深入了解View(一
  5. Android中AsyncTask详解,源码剖析(API 23)
  6. Android如何获取APP启动时间
  7. Android:你要的WebView与 JS 交互方式 都在这里了
  8. Android上的Back键事件捕获
  9. Android中的WebView

随机推荐

  1. android代码实现关机
  2. Android(安卓)之 CheckBox 详解
  3. Android(安卓)文字链接 文字点击时的背景
  4. Android(安卓)后台保活,这里有你需要的所
  5. JSONArray的使用
  6. Android之ListView中的分割线和行高
  7. Android的CheckBox控件的点击效果布局文
  8. android自定义滚动条(ScrollBar)样式
  9. Android(安卓)ScrollView用法
  10. android 状态栏提醒 Notification 的使用