cocos2dx 3.1.1のiosにAdMobを入れた時に表示されない。(Must set the rootViewController property of GADBannerView before calling loadRequest エラー)

http://stackoverflow.com/questions/21846346/admob-with-cocos-2d-v3/21859218#21859218?newreg=3f939ceefd2e4dde88d6c3cf3c1c7f39
上記のサイトの回答のリンク先からダウンロードできるサンプルプロジェクトを見て解決しました。

AdMobをcocos2dxに追加するのは、公式ドキュメントといつもお世話になっているLady WendyさんのCocos2d-x:AdMobを表示させる(iOS)を見て大体わかったのですが、

Must set the rootViewController property of GADBannerView before calling loadRequest
というエラーが出て、広告が表示されませんでした。

公式ドキュメントの通りに

bannerView_.rootViewController = self;
  [self.view addSubview:bannerView_];

とすると、selfのところでエラーが出てしまいます。
結論としては、これを
bannerView_.rootViewController = self.viewController;
    
[self.viewController.view addSubview:bannerView_];
としたら解決しました。

コードも載せておきます、関係有るところだけ。
    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
    
    bannerView_.adUnitID = @"ca-app-pub-xxxxxxxxxxxx";
    
    [viewController.view addSubview: bannerView_];
    
    bannerView_.rootViewController = self.viewController;
    
    [self.viewController.view addSubview:bannerView_];
    GADRequest *request = [GADRequest request];
    request.testDevices = [NSArray arrayWithObjects:
                           @"シミュレータのID",
                           nil];
    [bannerView_ loadRequest:[GADRequest request]];
    
    cocos2d::Application::getInstance()->run();
    
    return YES;

コメント

Lady Wendy さんの投稿…
LadyWendyです。
ご紹介ありがとうございました。
う〜ん、ほんとだ。動かなくなってますね。。。。(- -;)
教えてくれてありがとうございます。

私のサイトも追って修正入れさせて頂きます。
こちらのページ、ご紹介させて頂きますね!(^^)

このブログの人気の投稿

2次元配列のコピー::JavaScript

iframeの利点と欠点

Cocos2d-x 3.4でandroid向けにビルドする