【cocos2dx】複数の広告を表示させる際の注意点-広告が押せない!

【cocos2dx】複数の広告を表示させる際の注意点-広告が押せない!
   

cocos2dxだけではないかもしれませんが、広告が表示されているのに、クリックができないという世にも奇妙なことが起るんですよ。奥さん!

というわけで、新作「黒猫のスカイダイビング」は現在アイコン・バナー広告がクリックできません。
その原因と対策を今回ブログで紹介しようと思います。

2013-12-10-fdsasd


原因

AppControllerでの、Viewの問題。
例えば、UIViewControllerのクラスに個別に広告を載せる実装をしたときに、AppControllerでは、以下のように追加していました。


    //バナー広告を追加
    bannerController = [[BannerViewController alloc] init];
    [viewController.view addSubview:adfurikunController.view];
    
    
    
    //icon広告を追加
    iconAdView = [[IconAdViewController alloc] init];
    [viewController.view addSubview:iconAdView.view];




このように実装をすると、最初に追加した広告(上記ではバナー広告)のクリックができなくなります。
原因は色々あると思うのですが、アイコンを表示させるUIViewを優先してしまうからでしょう。


解決

上手い実装の仕方が思いつかないのですが、UIViewControllerを介さず直接AppControllerに広告を追加すると大丈夫でした。


//icon広告を追加
    iconAdView = [[IconAdViewController alloc] init];
    [viewController.view addSubview:iconAdView.view];
    



//バナー広告を追加(アドフリくん)
    bannerController = [[BannerViewController alloc] init];
    [viewController.view addSubview:adfurikunController.view];
    
    CGRect winSize = [[UIScreen mainScreen] bounds];
    
    AdfurikunView *adfuriView = [[AdfurikunView alloc] initWithFrame:CGRectMake(0,winSize.size.height-ADFRJS_VIEW_SIZE_320x50.height, ADFRJS_VIEW_SIZE_320x50.width, ADFRJS_VIEW_SIZE_320x50.height)];
    adfuriView.delegate = self;
    //アドフリくんの管理画面で発行されたアプリケーションIDを設定してください
    adfuriView.appId = @"*******************";
    adfuriView.transitionDulation = 0.5f;
    [viewController.view addSubview:adfuriView];
    
    
    [adfuriView startShowAd];


注意点は、UIViewControllerを利用する場合上記のようにはじめに持っていく必要があります。icon広告(UIViewController利用)が前、バナー広告が後。
逆の場合、解決しません。

最後に

「黒猫のスカイダイビング」に関しては、本日アップデートをして、この広告のバグを取り除いています。
早くアップデートしてくれ!


黒猫のスカイダイビング App
カテゴリ: ゲーム

価格: 無料

Related Posts Plugin for WordPress, Blogger...