テスト用の広告を設定し、AdMobのイベントを確認しました。概要とともにメモ。
イベントの概要:
– (void)adViewDidReceiveAd:(GADBannerView *)bannerView
loadRequestが成功したときに送信される。
– (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error
loadRequestが失敗したときに送信される。
– (void)adViewWillPresentScreen:(GADBannerView *)bannerView
ユーザーが広告をタップした後、フルスクリーンで表示する前に送信される。
– (void)adViewDidDismissScreen:(GADBannerView *)bannerView
フルスクリーン表示が終了すると送信される。
– (void)adViewWillDismissScreen:(GADBannerView *)bannerView
フルスクリーン表示が終了し、アプリとルートビューコントローラが復元される直前に送信される。
– (void)adViewWillLeaveApplication:(GADBannerView *)bannerView
AppStoreが開くなどでアプリケーションがバックグラウンドに切り替わる(終了する)際に送信される。
# 詳細はGoogleのドキュメントを参照:
# https://developers.google.com/mobile-ads-sdk/docs/ios/intermediate?hl=ja
イベントの確認:
実際に、テスト用の自社広告をAdmobに設定して動作を追ってみました。
アクションとイベントの関係は以下の図のようになりました。
アプリの動作の中断と再開は、これらのイベントとアプリ側のイベントを組み合わせて行います。
今回、GADBannerViewをUIViewControllerのviewに貼付けてテストしました。
フルスクリーン表示でDoneをタップして元の画面に戻った際、GADBannerViewを貼付けているviewが画面サイズに拡大されたままになっていました。
adViewDidDismissScreen:の中で、viewを適切なサイズに戻す必要がありそうです。
1 2 3 4 |
- (void)adViewDidDismissScreen:(GADBannerView *)adView { self.view.frame = CGRectMake(0, 0, 320, 50); } |
adViewDidDismissScreen:の中で、viewを適切なサイズに戻す必要がありそう、
と書きましたが、cocos2dでは特に何もしなくても大丈夫だった。
Objective-Cで実装するときに何かミスがあったのかな?
それとも、cocos2dではそれに変わる何かをしてくれているのか??