Storyboardから始めるiPhoneアプリ開発

Twitterボタン
Twitterブログパーツ

Xcodeやobjective-c、Storyboardについて得た知識などiPhoneアプリ開発の体験記を配信


草刈りパニック 海軍王アカデミー シンプルゆめ日記 シンプル表計算CelLion 魔球スラッガー 地頭を鍛えるでんしゃ算数 Don't 100
2012/02/29(水)

[Xcode][objective-c]Storyboardを使ってiAdを設置する方法

カテゴリ:Xcode / objective-c
==<<管理者環境>>==
MacOSX ver.10.7.3
Xcode ver.4.2.1
iOSシミュレータ ver.5.0
==============

無料iPhoneアプリに欠かせない広告表示機能。

Storyboard上でiAdを設置する為のオブジェクト「ADBannerView」を使ったiAdの設置方法を紹介します。
※とりあえず「無料アプリリリース用」という位置づけで紹介します。有料アプリは、税金関係などで小難しい手続きを踏まなければならないような情報を得ました。ひょっとしたら、有料アプリでも今回紹介する方法と同じ手順で出来てしまうのかもしれません(未調査のため分かりません)。
↓iAd関連でAppleのドキュメントを見つけたのでリンクを貼っておきます
Appleドキュメント


さて、まず完成イメージから。
スクリーンショット 2012-02-29 18.21.08

画面下部にバッチリ表示されていますね。タップすると「TestAdvertisement」と表示されます。

では手順です。
手順0 広告表示画面として、Storyboard上にViewControllerを1つ用意して置いて下さい。

手順1 iAd用のフレームワークをプロジェクトに追加する
  1. 以下の順にクリックする
     ProjectNavigator >> [プロジェクトファイル名] >> TARGETS[プロジェクト名] >> Summary
  2. 下にスクロールした先にある「LinkedFrameworks and Libraries」項目の追加ボタン(+)をクリックする
  3. 出現した検索ボックスに「iad」と入力し、「iAd.framework」を選択後に「Add」をクリック

スクリーンショット 2012-02-29 18.22.59_2


手順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オブジェクトを乗せてアウトレット接続する

スクリーンショット 2012-02-29 18.21.52

スクリーンショット 2012-02-29 19.59.43

以上で終了です。
実行してみて下さい。

尚、実機(iPod)でも動作確認できました。
image3.png


ただ、これだけだと広告の報酬はどうなるんでしょうか…
▲iTunes Connectで[Contracts, Tax, and Banking]の設定をする必要があります。簡単に出来ました。参考記事はコチラ[2012/3/2追記]

そして実際の広告はどうやって表示させるんでしょうか…
まだまだ調査が足りないようです。
調査出来次第、別記事で紹介することにします。
とりあえず「ガラ」の完成ということで。
関連記事
  1. 2012/02/29(水)|
  2. Xcode / objective-c
  3. | トラックバック:0
  4. | コメント:8
<<[Xcode]実機転送したアプリのDefault.pngが表示されない件 | ホーム | iPhoneアプリ『Brushes』>>

コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
  1. 2012/03/06(火) 00:35:17 |
  2. |
  3. #
  4. [ 編集 ]

Re: iAd設置の件

> Outletsの部分にadd_testが表示されず、接続ができません。
記事中の「手順3 メソッドファイルに広告を表示するコードを実装する」のコード「//広告表示ビュー」の行のコードは記述できていますか?
できているのであれば、ビルド([Commandキー]+[B]、あるいはXcodeメニューProduct>>Build)してみてください。
ペコッて出て来ませんか?
出て来なければ、インスペクター(手順4の写真2枚目右上の6つのアイコン)を切り替えたりしてみてください。

ご参考になれば。
出来なければまたご連絡ください。
  1. 2012/03/06(火) 01:57:22 |
  2. URL |
  3. Casual App Team #-
  4. [ 編集 ]

iAdの設置方法に関して

こんにちは。
恐縮ですが、上記の通り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の設置方法」のご提示をお願い出来ませんでしょうか?!
宜しくお願いします。
  1. 2012/07/23(月) 17:33:02 |
  2. URL |
  3. ニコラス #HfMzn2gY
  4. [ 編集 ]

Re: iAdの設置方法に関して

ニコラスさんこんばんは。
Xcodeのコンソールに表示されるエラーの件ですが、
ご指摘の通り、当方でも同一のエラーが出力されました。
以下、まとめましたのでご確認下さい。
(※記事冒頭記載の[管理者環境]を前提とします)

ーーーーーーーーーーーーーーーーーー
[原因]
iAd広告の取得に失敗した際に呼ばれるデリゲートメソッドを実装していないから。

[対処方法]
メソッドファイルに以下デリゲートメソッドを追加実装する。
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{}
※本記事手順3の『//iAd取得失敗』です
ーーーーーーーーーーーーーーーーーー

また、iAd広告の取得に成功した際に呼ばれるデリゲートメソッド『『//iAd取得成功』も追記し、さらに成功時失敗時それぞれでiAdの表示非表示の切替をするコードも追記しましたので併せて確認下さい。


手順3に追記したメソッド2つを追記すればオールOKだと思います。
ご指摘ありがとうございました。
  1. 2012/07/23(月) 19:41:06 |
  2. URL |
  3. Casual App Team #-
  4. [ 編集 ]

こんにちは。

返信が遅くなりすみません。
また、ご回答ありがとうございます。
まだ、X-codeを開いてませんがこれから実施してみたいと思います。
また、何かありましたらよろしくお願いします。
  1. 2012/07/26(木) 10:42:54 |
  2. URL |
  3. ニコラス #HfMzn2gY
  4. [ 編集 ]

おはようございます。

お世話になっております。
昨日、おかげさまでiAdを付けたアプリを申請致しました。
結果が楽しみです。
無事、申請が受理されれば良いなと思います。
また、何かありましたらよろしくお願いします。
  1. 2012/07/28(土) 09:06:10 |
  2. URL |
  3. ニコラス #nLnvUwLc
  4. [ 編集 ]

Re: おはようございます。

ニコラスさんこんにちは。
無事アプリの申請が出来たとの事で、とりあえず一段落ですね。お疲れさまです。
最近のAppStoreの審査は以前よりだいぶ時間が掛かるのでしばらくソワソワすることになりそうですね笑
いっぱい売れるといいですね!
応援しています。
  1. 2012/07/28(土) 10:09:29 |
  2. URL |
  3. Casual App Team #-
  4. [ 編集 ]

お久しぶりです。

以前から、ご報告しようと思っておりましたが何故か
エラーでこちらのサイトを閲覧する事が出来ない状態でした。
なので、今させて頂きます。
以前、作り方を教えて頂き作製した「日本国憲法」がカテゴリーで
1位を取る事ができ、メディアでも取り上げて頂く事が出来ました。
本当にありがとうございました。
この場をかりて、御礼申し上げます。
今後も何かありましたらよろしくお願い申し上げます。
  1. 2013/06/17(月) 16:35:29 |
  2. URL |
  3. ニコラス #SFo5/nok
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://blog.casualappteam.com/tb.php/52-6f55ad86
この記事にトラックバックする(FC2ブログユーザー)

検索フォーム

アプリ紹介記事

おすすめ書籍

入門者向けおすすめサービス

iPhoneアプリ開発やリリースに必須と思われるサービスです。開発と並行してリリースの環境を整える必要があります。

    シティバンク
    アプリから得られる収入やアプリ製作関連の支出を管理する口座が必要です。アプリから得られる収入は日本円だけではなく米ドル等の外貨の場合がありますので、グローバルで貨幣の両替が簡易な銀行口座を選択します。一旦はここで無難です。

    FC2ブログ
    アプリをリリースする際、サポートサイトが必須です。無料で使い勝手の良いFC2ブログがおすすめです。

    リンクシェア
    アプリの下によくある広告のあれです。ここと提携してアプリ内に広告を設置することで、広告収入を得ることができます。少しでも下心があるなら必須です。

    三井住友VISAカード
    デベロッパー登録やその他経費をクレジット払いにしておけば支払いの履歴も残りますし、一々振り込む手間が省けます。三井住友VISAカードならcitiバンクを支払い口座に指定できますし、なにかと便利です。

中級者向けおすすめサービス

iPhoneアプリをリリースしても、ダウンロードされなければ意味がありません。さらに集客力・発信力を向上させましょう。

    お名前.com
    格安で独自ドメインを取得することができます。自社サイト・個人サイトを作成する際にご利用ください。

    さくらのレンタルサーバ
    レンタルサーバーです。webサイト用もしくはアプリのデーターサーバー用にどうぞ。

    ロリポップ!レンタルサーバー
    レンタルサーバーです。webサイト用もしくはアプリのデーターサーバー用にどうぞ。

その他のおすすめサービス

私のオススメのサービスです。
参考なれば幸いです。


1位   リクナビNEXT

iPhoneアプリエンジニアは求人市場で需要があります。一般企業はアプリを広告として使うケースがありますから。私自身もリクナビNEXTを利用しています。


2位   随時更新していきます。

QRコード

QR

全記事表示リンク

全ての記事を表示する

カテゴリ

最新記事

月別アーカイブ

プロフィール

CasualAppTeam

Author:CasualAppTeam
初めまして。
iPhoneアプリ開発についてブログを綴っていきます。
xcodeやobjective-c,storyboardなどについて詳しく書いていきます。

最新コメント

最新トラックバック

RSSリンクの表示

自分のための外部リンク