こちらのアプリ(Colomemo) で実際に試している方法です。
無料ですので, 是非試してみてくださいな。
Admobはバージョンによって結構違ってくるので, その都度調べなおすのがまあまあ面倒です。
Versionは, 6.5.1です。 このエントリーは, 筆者の別のブログ, iOS Admob(導入編), iOS Admob(表示されなかった場合の処理) の合併号のようなものです。 今回の目的は, 表示すること, ネットに接続されていない場合にスペースが余るのを回避することです
ステップ
- GoogleAdMobAdsSdkiOSをダウンロード
- 依存関係ライブラリ(Framework)を追加
- Liner flagを追加
- AdmobのWebサイトでIDを発行してもらう
- GADBannarViewの設置
- GADBannerViewDelegateの実装
GoogleAdMobAdsSdkiOSをダウンロード
GoogleAdMobAdsSdkiOS.zipをGoogleよりダウンロードして解凍します。libGoogleAdMOobAds.aおよび, .h ヘッダー達を使いたい プロジェクトにコピーして.a はリンクします。解凍すると, thirdparty がどうとかいうディレクトリがありますが今回は使いません。
依存関係ライブラリ(Framework)を追加
必要なFrameworkを追加します。 ドキュメントによると以下のFrameworkが必要です- AudioToolbox
- MessageUI
- SystemConfiguration
- CoreGraphics
- AdSupport
- StoreKit
Liner flagを追加
これをやらないとコンパイルが通りません。 Targetの”Other Liner Flags“に, -ObjCを追加します。AdmobのWebサイトでIDを発行してもらう
必要なものは, パブリッシャー IDです。アプリケーションを追加してこれを入手してください。 サイトURLなどは必要ないので空欄でいいのです。(登録に関しては省略) (Googleアカウントもしくはadmobアカウントが必要です)GADBannarViewの設置
さて今回は, サンプルに従ってボトムにバナーを表示させてみましょう。必要なヘッダ
#import "GADBannerView.h"
本体
@interface ViewController () @property(nonatomic, readwrite)GADBannerView *bannerView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self initAd]; } -(void)initAd { self.bannerView = [[GADBannerView alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - GAD_SIZE_320x50.height, GAD_SIZE_320x50.width, GAD_SIZE_320x50.height)]; self.bannerView.adUnitID = kADUNITID; self.bannerView.rootViewController = self; [self.view addSubview:self.bannerView]; }kADUNITIDというのがパブリッシャーID(文字列です)です。これだけで表示されます。
GADBannerViewDelegateの実装
Admobは, web広告ですので, もちろんネットにつながっていないと,当然表示されません。 デザインなどで, 広告が表示されない場合にぽっかりスペースが空くのはなんかしのびありません。 そこで, 表示される場合と, 表示されない場合の挙動を変更するように直します。 GADBannerViewDelegate というのがこの機能を提供しています。 広告を表示するUIを使うクラスにGADBannerViewDelegateをimplementsします。ViewController
@interface ViewController : UIViewController@end
GADBannerView にdelegateをset
[self.bannerView setDelegate:self];self.bannerViewは,GADBannerViewです。
実装
- (void)adViewDidReceiveAd:(GADBannerView *)bannerView { // Success } - (void)adView:(GADBannerView *)view didFailToReceiveAdWithError:(GADRequestError *)error { // Fail }成功した場合がadViewDidReceiveAd, 失敗したときがdidFailToReceiveAdWithErrorです。 筆者はここで, UIのサイズなどを調整したりしています。
0 件のコメント:
コメントを投稿