==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
iOSシミュレータ ver.5.0
==============
無料iPhoneアプリに欠かせない
広告表示機能。
Storyboard上でiAdを設置する為のオブジェクト「ADBannerView」を使ったiAdの設置方法を紹介します。
※とりあえず「無料アプリリリース用」という位置づけで紹介します。有料アプリは、税金関係などで小難しい手続きを踏まなければならないような情報を得ました。ひょっとしたら、有料アプリでも今回紹介する方法と同じ手順で出来てしまうのかもしれません(未調査のため分かりません)。
↓iAd関連でAppleのドキュメントを見つけたのでリンクを貼っておきます
Appleドキュメントさて、まず完成イメージから。

画面下部にバッチリ表示されていますね。タップすると「TestAdvertisement」と表示されます。
では手順です。
手順0 広告表示画面として、Storyboard上にViewControllerを1つ用意して置いて下さい。
手順1 iAd用のフレームワークをプロジェクトに追加する
- 以下の順にクリックする
ProjectNavigator >> [プロジェクトファイル名] >> TARGETS[プロジェクト名] >> Summary - 下にスクロールした先にある「LinkedFrameworks and Libraries」項目の追加ボタン(+)をクリックする
- 出現した検索ボックスに「iad」と入力し、「iAd.framework」を選択後に「Add」をクリック

手順2 ViewControllerのヘッダファイルに手順1で追加したフレームワークのヘッダファイルをインポートし、iAdのデリゲートも実装する。
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>//iAdフレームワーク
@interface ViewController : UIViewController<ADBannerViewDelegate>
@end
手順3 メソッドファイルに広告を表示するコードを実装する
#import "ViewController.h"
@implementation ViewController
{
IBOutlet ADBannerView *add_test;//広告表示ビュー
}
- (void)viewDidLoad
{
[super viewDidLoad];
add_test.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;//広告表示の種類(画面の向き)
add_test.delegate = self;
}
//iAd取得成功
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"iAd取得成功");
add_test.hidden = NO;
}
//iAd取得失敗
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"iAd取得失敗");
add_test.hidden = YES;
}
[2012/7/23追記]
iAd取得成功、失敗時のデリゲートメソッドを追記しました。
※取得失敗時、iAdを残したまま(真っ白の状態)だと、AppStore審査でリジェクトされるのでご注意を。
※広告表示の種類(画面の向き)は以下の2つ
縦:ADBannerContentSizeIdentifierPortrait
横:ADBannerContentSizeIdentifierLandscape
手順4 Storyboard上でViewControllerにAdBannerViewオブジェクトを乗せてアウトレット接続する


以上で終了です。
実行してみて下さい。
尚、実機(iPod)でも動作確認できました。

ただ、これだけだと広告の報酬はどうなるんでしょうか…
▲iTunes Connectで[Contracts, Tax, and Banking]の設定をする必要があります。簡単に出来ました。参考記事は
コチラ[
2012/3/2追記]
そして実際の広告はどうやって表示させるんでしょうか…
まだまだ調査が足りないようです。
調査出来次第、別記事で紹介することにします。
とりあえず「ガラ」の完成ということで。
- 関連記事
-
- 2012/02/29(水)|
- Xcode / objective-c
-
| トラックバック:0
-
| コメント:8
> Outletsの部分にadd_testが表示されず、接続ができません。
記事中の「手順3 メソッドファイルに広告を表示するコードを実装する」のコード「//広告表示ビュー」の行のコードは記述できていますか?
できているのであれば、ビルド([Commandキー]+[B]、あるいはXcodeメニューProduct>>Build)してみてください。
ペコッて出て来ませんか?
出て来なければ、インスペクター(手順4の写真2枚目右上の6つのアイコン)を切り替えたりしてみてください。
ご参考になれば。
出来なければまたご連絡ください。
- 2012/03/06(火) 01:57:22 |
- URL |
- Casual App Team #-
- [ 編集 ]
こんにちは。
恐縮ですが、上記の通りiAdを設置すると何故かXcodeの下の方に
ADBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=3 "The operation couldn’t be completed. Ad inventory unavailable" UserInfo=0x6c6b060 {ADInternalErrorCode=3, NSLocalizedFailureReason=Ad inventory unavailable}
2012-07-23 17:30:10.364 menseki[3050:fb03] ADBannerView: Unhandled error (no delegate or delegate does not implement didFailToReceiveAdWithError:): Error Domain=ADErrorDomain Code=5 "The operation couldn’t be completed. Banner view is visible but does not have content" UserInfo=0x687ed80 {ADInternalErrorCode=5, NSLocalizedFailureReason=Banner view is visible but does not have content}
のようなエラーメッセージが表示されます。
お手数とは思いますが、再投稿として更に詳しい
「iAdの設置方法」のご提示をお願い出来ませんでしょうか?!
宜しくお願いします。
- 2012/07/23(月) 17:33:02 |
- URL |
- ニコラス #HfMzn2gY
- [ 編集 ]
ニコラスさんこんばんは。
Xcodeのコンソールに表示されるエラーの件ですが、
ご指摘の通り、当方でも同一のエラーが出力されました。
以下、まとめましたのでご確認下さい。
(※記事冒頭記載の[管理者環境]を前提とします)
ーーーーーーーーーーーーーーーーーー
[原因]
iAd広告の取得に失敗した際に呼ばれるデリゲートメソッドを実装していないから。
[対処方法]
メソッドファイルに以下デリゲートメソッドを追加実装する。
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{}
※本記事手順3の『//iAd取得失敗』です
ーーーーーーーーーーーーーーーーーー
また、iAd広告の取得に成功した際に呼ばれるデリゲートメソッド『『//iAd取得成功』も追記し、さらに成功時失敗時それぞれでiAdの表示非表示の切替をするコードも追記しましたので併せて確認下さい。
手順3に追記したメソッド2つを追記すればオールOKだと思います。
ご指摘ありがとうございました。
- 2012/07/23(月) 19:41:06 |
- URL |
- #-
- [ 編集 ]
返信が遅くなりすみません。
また、ご回答ありがとうございます。
まだ、X-codeを開いてませんがこれから実施してみたいと思います。
また、何かありましたらよろしくお願いします。
- 2012/07/26(木) 10:42:54 |
- URL |
- ニコラス #HfMzn2gY
- [ 編集 ]
お世話になっております。
昨日、おかげさまでiAdを付けたアプリを申請致しました。
結果が楽しみです。
無事、申請が受理されれば良いなと思います。
また、何かありましたらよろしくお願いします。
- 2012/07/28(土) 09:06:10 |
- URL |
- ニコラス #nLnvUwLc
- [ 編集 ]
ニコラスさんこんにちは。
無事アプリの申請が出来たとの事で、とりあえず一段落ですね。お疲れさまです。
最近のAppStoreの審査は以前よりだいぶ時間が掛かるのでしばらくソワソワすることになりそうですね笑
いっぱい売れるといいですね!
応援しています。
- 2012/07/28(土) 10:09:29 |
- URL |
- #-
- [ 編集 ]
以前から、ご報告しようと思っておりましたが何故か
エラーでこちらのサイトを閲覧する事が出来ない状態でした。
なので、今させて頂きます。
以前、作り方を教えて頂き作製した「日本国憲法」がカテゴリーで
1位を取る事ができ、メディアでも取り上げて頂く事が出来ました。
本当にありがとうございました。
この場をかりて、御礼申し上げます。
今後も何かありましたらよろしくお願い申し上げます。
- 2013/06/17(月) 16:35:29 |
- URL |
- ニコラス #SFo5/nok
- [ 編集 ]