IOS和Android OpenGL遊戲引擎的集成AdMob新版教程

一:前提條件
下載適用於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也在不斷地升級與優化之中。app

相關文章
相關標籤/搜索