cocos2d-xでAdlantisのバナー広告を入れる(iPhone版)

Pocket

adlantis

Android版でのAdlantisのバナー広告の入れ方はこちら

iPhone版のアプリにAdlantisのバナー広告を入れようとしたときにいくつかやらなきゃいけないことがあったんで、忘れる前にメモしときます。
基本はAdMobとあまりかわらないです。多分。

準備:AdLantis iOS SDK のダウンロード

http://tn.adlantis.jp/adnw/sp/media/iPhoneAppOwner/adlantis-iphone-sdk
ここからまずはAdLantis iOS SDKをダウンロードします。

中身を解凍したら、それを自分がわかる場所にでも置いておきます。

XCode5での設定

次に、それらを参照できるように色々とXCode側で設定します。
やることは以下のとおり。

  1. Build Settingsでの設定
    1. サーチパスの追加
    2. Other Linker Flagの追加
  2. ライブラリの追加
  3. adlantis_sdkディレクトリの追加

では、順を追って説明します。

Build Settingsでの設定

1.サーチパスを追加する

左ペインよりプロジェクトを選択し、「TARGET」>「Build Settings」>「Header Search Paths」と「Library Search Paths」を選択します。
adlantis_ipn

作ってるアプリの拙いロゴとか見えちゃってるけど、気にしないでおいてください。
どちらもダブルクリックして、adlantis_sdkのパスを入れましょう。

adlantis_ipn2

ちなみに、Header Search Pathsだけでもいいのかも。ただなんか公式のサンプルではLibrary Search Pathsの方に入ってるんですよね。

2.Other Linker Flagに「-ObjC」を追加

次いで、同じ「Build Settings」の「Other Linker Flag」に「-ObjC」と記入します。
Other Linker Flagは「Linking」項目の中にあります。でも検索したら一発ででてきます。

adlantis_ipn3

ライブラリの追加

次に、ライブラリの中に以下のものを追加します。

  • AdSupport.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • QuartzCore.framework
  • libadlantis_ios_sdk.a

一番下のはいらないのかも。
ちなみに、「a」という拡張子はアセンブラらしいです。アセンブラはぜんぜんわからない(´・ω・`)

「General」>「Linked Frameworks and Libraries」の下にある「+」ボタンを押し、検索しながら追加していきましょう。
最後の「libadlantis_ios_sdk.a」はさっき解凍したディレクトリの中に存在し、「Add Other」から探すことができます。

adlantis_sdkディレクトリの追加

最後に、解凍した中に入っている「adlantis_sdk」ディレクトリをそのままプロジェクトの中に追加します。

プロジェクトを選択して「右クリック」>「Add Files to “プロジェクト名”」をクリック

その際、フォルダ作成方法を参照ではない方法にします。なんかその方がいいらしいです。

adlantis_ipn4

うまくできると、左側にはこんな感じでフォルダが追加されます。

adlantis_ipn5

AppControlelr.hとAppController.mmをいじる

あとはもうコーディングですね。Objective-Cはぜんぜんわからないんですけど、まあなんとかなります。
「ios」フォルダにあるAppController.hAppController.mmの中に実装していきましょう。

※注意:iosフォルダには「RootViewController」といういかにもルートになりそうな名前のコントローラーがあるんですけど、そっちに書いても反映されないぽいです。

#import <UIKit/UIKit.h>

@class RootViewController;
@class AdlantisView;

@interface AppController : NSObject  {
    UIWindow *window;
    RootViewController    *viewController;
	AdlantisView *m_adView;
}
-(CGRect) adViewFrame;
@end

続いて、AppController.mmに実装します。
– (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions内の下の方に書きましょう。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*
 *  (暫く省略)
 */
cocos2d::CCApplication::sharedApplication()->run();

//ここから
m_adView = [[AdlantisView alloc] initWithFrame:[self adViewFrame]];
m_adView.publisherID = @"【Publisher ID】"; //パブリッシャーIDにする
m_adView.rootViewController = viewController;
m_adView.center = CGPointMake(viewController.view.center.x , viewController.view.frame.size.height - m_adView.frame.size.height / 2);
[viewController.view addSubview:m_adView];
//ここまで

return YES;
}

//作成する
-(CGRect) adViewFrame{
CGSize suggestedViewSize =
AdlantisViewSizeForOrientation(UIApplication.sharedApplication.statusBarOrientation);
CGRect adViewFrame;
adViewFrame = CGRectMake(0, viewController.view.bounds.size.height - suggestedViewSize.height,
			 suggestedViewSize.width, suggestedViewSize.height);
return adViewFrame;
}

これでエラーもでずにビルドができれば、きっと彼らは表示されてくれるはずです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です