[cocos2d] GameFeatのウォール広告を設置する

[cocos2d] GameFeatのウォール広告を設置する
   

先日、セミナーにも参加させていただいた「GameFeat」さんの「オーバーウォール」型広告を無事「cocos2d」に実装ができるようになったので、今回はこの設定方法を紹介したいと思います。
「GameFeat」さんの広告についてはこちらを参考にしてみて下さい。

※GameFeat SDK のVerによって、実装方法が代わっておりますのでご注意ください。(v2.1までとv3.0以降で異なり、本ブログではv2.1以前を利用した実装方法になります。)


準備

まずは、下準備としてGameFeatさんのSDKをXcode上のプロジェクトに追加します。

2013-10-15-ddsds


ついでに、必要なフレームワークもプロジェクトに追加します。
  • Foundation.framework
  • UIKit.framework
  • CoreTelephony.framework
  • StoreKit.framework

実装する

AppDelegateにGameFeatを実装していきます。
まずはヘッダーである「AppDelegate.h」です。

#import <UIKit/UIKit.h>
#import "cocos2d.h"

//SDKをインポート
#import <GameFeatKit/GFView.h>
#import <GameFeatKit/GFController.h>


//GFViewDelegateを追加
@interface AppController : NSObject <UIApplicationDelegate, CCDirectorDelegate, GFViewDelegate>
{
	UIWindow *window;
	CCDirectorIOS	*director;							
}




次にAppDelegate.mに必要な記述をしていきます。


- (void)applicationDidEnterBackground:(UIApplication *)application
{
  //追加
    UIDevice *device = [UIDevice currentDevice];
    BOOL backgroundSupported = NO;
    if ([device respondsToSelector:@selector(isMultitaskingSupported)]) {
        backgroundSupported = device.multitaskingSupported;
    }
    if (backgroundSupported) {
        [GFController backgroundTask];
    }




	[[CCDirector sharedDirector] stopAnimation];

}


- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [GFController conversionCheckStop];//追加

	[[CCDirector sharedDirector] startAnimation];

}


//=======================================================
// GFViewDelegate
//=======================================================
- (void)didShowGameFeat{
    // GameFeatが表示されたタイミングで呼び出されるdelegateメソッド
    NSLog(@"didShowGameFeat");
}
- (void)didCloseGameFeat{
    // GameFeatが閉じられたタイミングで呼び出されるdelegateメソッド
    NSLog(@"didCloseGameFeat");
}


-(void)didGetGfAds:(NSArray *)lists{
    
    
}

-(void)failGetGfAds{
    
    
}




これで設定は完了です。
非常に簡単です。

実際に利用する

後は、GameFeatをどのタイミングで呼び出すかを決めてあげるだけです。
例えば、ボタンを押した時に呼び出すなどが、一般的でしょう。

例として、CCMenuクラスを使ったコードを書きます。

//init()内

//メニューを作成
    CCMenuItemImage *gamefeat = [[CCMenuItemImage itemWithNormalImage:@"button.png" selectedImage:@"button-hover.png" target:self selector:@selector(onClickBtn)] retain];


    CCMenu *menu = [CCMenu menuWithItems:gamefeat,nil];
    [self addChild:menu z:3];



//CCMenuで呼び出すメソッド
-(void)onClickBtn{
    
    //AppDelegateを呼び出します
    AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    //これで、GameFeatの広告を立ち上げます。
    //GAMEFEAT_MEDIA_IDには、自分のIDを入れて下さい
    [GFController showGF:[CCDirector sharedDirector] site_id:GAMEFEAT_MEDIA_ID delegate:delegate];
    
    
}


これで、ボタンを押せば「オーバーウォール」型の広告が表示されます。


最後に

iOS5でGameFeatの「オーバーウォール」型を展開しようとすると、縦向きになります。これは、だた対応していないだけなので実装が悪いというわけではないみたい。iOS6以降は、横向きの広告が出ます。

このGameFeatの「オーバーウォール」型広告を利用すると、相互集客機能が利用できます。

2013-10-19-dsds

これを利用するには、URLスキームをアプリに設定する必要があるみたいで、これをXcode上から登録しないと使えません。
ですので、あらかじめAppleに提出する前に、このURLスキームを登録しておきましょう。

これはXcodeのプロジェクトのinfoの下にある【URL Types】から登録ができるみたいです。

2013-10-19-fdsa


詳しくはこちらから。



次回はcocos2dxでこの広告を表示する方法を紹介したいと思います。


Related Posts Plugin for WordPress, Blogger...