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

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

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

2013-12-10-fdsasd

原因

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

[c]

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



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

[/c]

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

解決

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

[c]

//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];

[/c]

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

最後に

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

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