【cocos2dx】アスタウォールを設置する方法 – iOS編

【cocos2dx】アスタウォールを設置する方法 – iOS編
   

アドネットワーク「アスタ」さんから、新しくウォール型広告がはじまったとのことで、早速cocos2dxのプロジェクトに設置しようと試みました。
最初なので、少し悩んだ部分があったのですが、無事表示することができました。
簡単ですが、ブログで実装方法を紹介したいと思います。

難しそうなAndroid側は、また後日試してみます。
【プレスリリース】マルジュ、ウォール型広告「アスタウォール」を提供開始 – ニュース – アスタ

実装

まずは、アスタのホームページからSDKをダウンロードします。

2013-11-27-ddasa.png

下記2つのフレームワークをプロジェクトに追加します。
  • MrdIconSDK.framework
  • MrdAstaWall.framework

次に、実際の画面となるxidのファイルを追加します。

2013-11-27-fdsas


  • MrdAstaWallRes.bundle


後は、プロジェクトでアスタウォールを呼び出すコードを書くだけです。

コード

アスタさんの方でcocos2dxへの実装マニュアルを用意されています。
広告配信システム アスタ用 iOSモジュール(アイコン型広告) cocos2d-xプロジェクトへの組込み方法

このマニュアルはアイコン広告用なのですが、アスタウォールに関してはここに付け足す形でコードを書きます。

NativeCodeAst_objc.h


objective-cで記述するメソッドを加えます。


-(void)showAstWall;



NativeCodeAst_objc.mm


先ほどのメソッドに、アスタウォールを表示するコードを書きます。
ほぼSDKに載っているマニュアル通りなのですが、少し変更をしています。
アスタIDの所は、あなたのIDを記述してください。


-(void)showAstWall
{
    NSBundle *mrdAstaWallBundle = [NSBundle bundleWithPath:[MrdAstaWall frameworkBundlePath]]; 
    MrdAstaWallViewController *vc = [[MrdAstaWallViewController alloc]initWithNibName:@"MrdAstaWallViewController" bundle:mrdAstaWallBundle]; 
    [vc setMediaCode:AST_ICON_MEDIA_CODE];  //ここにあなたのアスタIDを記述してください。
    
    AppController *appController = (AppController *)[UIApplication sharedApplication].delegate;
    UIViewController *controller = (UIViewController *)appController.viewController;
    
    if ([controller respondsToSelector:@selector(presentViewController:animated:completion:)]) {
        [controller presentViewController:vc animated:YES completion:nil]; 
    } else { //iOS5未満
        [controller presentModalViewController:vc animated:YES];  
    }
    [vc release]; // (6)
}





NativeCodeAst.h

ここはマニュアルに、アスタウォールを呼び出すメソッドを書きます。(C++)
このような感じです。


namespace AstExt {
    class NativeCodeAst {
    public:
        
        static void showAstWall();

    };
    
}



NativeCodeAst.mm

先ほどObjective-cで記述したコードを読み出します。



#import "NativeCodeAst.h"
#import "NativeCodeAst_objc.h"
#import "AppController.h"



static void static_showAstWall()
{
    [[NativeCodeAst_objc sharedInstance] showAstWall];
}



namespace AstExt{
    
    void NativeCodeAst::showAstWall()
    {
        static_showAstWall();
    }
    
}


ここにあるShowAstWall()を、任意の場所で呼び出してあげれば、ウォールが立ち上がります。

実際に利用する所

実際に利用するときのコードはこんな感じでしょう。


//先ほどのヘッダーファイルを読み込みます。
#include "NativeCodeAst.h"


void GameLayer::astWallLuncher(){

    
    //これでウォールを呼び出す。
    AstExt::NativeCodeAst::showAstWall();
    
    
}


これで完了です。

最後に

色々なアドネットワークがありますが、この「アスタウォール」はクリックをすれば成果が上がるCPC型広告です。
実際にアプリがインストールされなくてもお金が入ります。
アプリの相性によっては、かなり良さそうですね。

Androidに関しては、まだ何もしていないのですが、現在開発中のアプリをAppleに提出し次第、やってみたいと思います。

IMG 0360

Related Posts Plugin for WordPress, Blogger...