動画コンテンツの収益化は、Brightcove iOS SDK を使ったiOS アプリの構築の利点の一つです。このトピックでは、Apple iAd プラットフォームと、動画の収益化にどのように利用できるかについて説明します。最初に iAd と iAd ビジネスモデルについて説明し、アプリにiAd を置く際に考慮すべきことについて説明します。次に、Brightcove App iOS SDK でのiAd 実装について説明します。
iAd は Apple 社が提供する広告プラットフォームです。現在、iAd は iPhone アプリに埋め込まれるバナー広告(ADBannerView)だけが利用可能です。iAd が他のモバイル広告プラットフォームと異なる点の 1 つは、これらのリッチメディアが従来のWeb 広告よりも双方向性が大きいことが約束されている、ということです。広告をバナーとして開始したとしても、音声や動画、その他の双方向性要素を含むリッチメディアへの道が開けています。Apple 社によれば、iAD は感情と双方向性を一つにまとめ、消費者にとってより親しみやすく、ブランド エンゲージメントを高めます。さらに、iAD での双方向の対話はすべて、アプリのコンテクスト内で発生します。視聴者は iAd が展開するときに、アプリから強制的に押し出されることがありません。
iAd は Apple iOS SDK の一部である Objective-C フレームワークです。iOS SDK 内のアプリにボタンやラベル、その他の UI 要素を追加するのと同じように、アプリに iAd ボタンを追加します。現在のところ、iAd は iOS 4.0 以降搭載のデバイスのみで利用可能です。iAd は iPhone および iPadでの実行用に設計されているユニバーサル アプリに埋め込むことが可能ですが、iPhone のみで表示され、iPad では無視されます。iOS 4 が iPad で使用できるようになれば(iOS 4.2 のリリースは2010年11月)、iAd を iPad でも利用できるようになります。
広告生態系には、複数の当事者と異なる広告形式が含まれます。広告主、広告ネットワーク、広告プラットフォーム、パブリッシャがおり、バナーやテイクオーバー、動画広告等があります。一般的には、広告主が、パブリッシャが提供する最もレンタル可能なスペースに広告を掲載するために、広告ネットワークに料金を支払います。広告ネットワークは、インプレッション(1000人当たりの広告費 (CPM))や、広告をクリックした視聴者の時間(1クリック当たり広告費(CPC))を測定して、パブリッシャとの間で利益を分配します。いくつかの広告形式は、他の広告形式よりもパブリッシャにとって多くの利益を生み出します。
iAd については、ことはもう少しシンプルです。iAd はバナーとして表示されるだけで、当事者は、Apple が代表する広告ネットワークと、iAd を掲載できる iPhone アプリ内のスペースを提供するパブリッシャの2者だけです。
Apple では、ハイブリッドな収益化方法を提供しています。つまり、Apple は CPM だけ、あるいは CPC だけではなく、その両方に対して支払いを行うのです。バナーが表示されたらiPhone アプリが、収益を発生し、さらに、バナーがクリックされるとより多くの収益を発生します。パブリッシャはApple から広告収益の 60% を受け取ります。アプリケーションに iAd を追加する前に、iAd ネットワークに参加し、適切な合意書に署名する必要があります。
どのような広告キャンペーンにおいても、ユーザエクスペリエンスとプロモーションのバランスを取ることが鍵となります。アプリケーション内に iAd 広告を掲載することも例外ではありません。アプリケーションの各画面に iAd を埋め込むことも可能ですが、アプリの本来の目的の流れを妨げたり、ユーザのアプリケーションとの双方向対話の邪魔になるべきではありません。アプリ内のどこに広告を配置するかを選択する前に、以下のことを考慮しなければなりません。
Brightcove iOS SDK に慣れている方なら、SDK には次の二つの主要コンポーネントがあることはおそらくご存じでしょう。
Brightcove iOS SDK と iAd の間には強い統合はありませんが(つまり、弊社の UI コンポーネントに iAD は組み入れられていませんが)、Brightcove プレイリストや動画のメタデータを表示するために構築した画面の周りに iAd を置く機会は十分にあります。
例えば、 One Planet iPhone アプリに iAd を追加したい場合、配置に適した場所は、動画テーブル表示画面でしょう(VideoTableView.xib)。この時点で視聴者は、すでにチャンネルのコンテンツを開こうと決めていますから、この時点で広告を表示することがおそらく適切です。結果はこのようになります。

Figure 1.iAd バナー。
コードの視点からは、iPhone の One Planet アプリ上の動画表示に iAd を追加する際に、以下の要件を考慮しなければなりません。
ADBannerView *adBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero]; adBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50; [self.view addSubview: adBannerView];
One Planet アプリの VideoTableView.xib 具体的ケースでは、UITableView が UIView の子になり、追加される iAd がシブリングとなるよう、修正する必要があるでしょう。そのために、UIView を追加し、次に UITableView を新規のUIViewの下にドラッグすることができます。その結果、表示コントローラ上の UITableView の参照を、復元する必要があるでしょう。
VideoTableViewController.h
@interface VideoTableViewController : UIViewController { //UITableView から変更
@private
double playlistId;
NSArray *videos;
..
}
...
// オリジナル UITableView の参照。
@property (nonatomic, retain) IBOutlet UITableView *tableView;
@property (nonatomic, retain) IBOutlet ADBannerView *bannerView;
...
さらに、tableView がメイン表示の「子」となったので、Interface Builder を使って、tableView との適切な接続を追加する必要があります。

Figure 2.Interface Builder 内の tableView 接続。
前述したように、ベストプラクティスとして、iAd は画面外に配置し、広告ネットワークによりiAd が実際に提供されていることが検知された時点で初めて画面に追加されるようにすべきです。バナーのライフサイクルは、広告サーバーに対して広告要求が出された後、ここから開始します。広告要求の結果を検知するため、bannerViewDidLoadAd メソッドを実装します。
- (void)bannerViewDidLoadAd:(ADBannerView *)bannerView {
// バナー表示が表示されないよう、バナー表示はオフセット 50 ピクセルと仮定。
bannerView.frame = CGRectOffset(bannerView.frame, 0, 50);
}
何らかの理由で広告要求が失敗した場合にエラーを検知し、広告を画面から外すため、didFailToReceiveAdWithError を実装する必要があります。
- (void)bannerView:(ADBannerView *)bannerView didFailToReceiveAdWithError:(NSError *)error{
// バナー表示は画面トップにあると仮定。
bannerView.frame = CGRectOffset(banner.frame, 0, -50);
}
デバイスの向きが変わったときに iAd のサイズを調整する必要がある場合、willRotateToInterfaceOrientation メソッドを実装し、以下を行うことができます。
(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;
} else {
self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
}
}
iAd に関する本序論により、Apple iOS アプリでの動画コンテンツの収益化の基礎をご理解いただけたと思います。これでおわかりのように、すでに iPhon アプリをお持ちなら、それに iAd を追加するのは比較的簡単です。一方、Brightcove Apps iOS SDKで iPhone アプリを構築するための理由を探していたのであれば、iAd の追加は、あなたに欠けていた動機付けとなるかもしれません。いつものように、お客様が構築された iOS についてお話を聞けることを楽しみにしております。また何かご質問がございましたら、弊社 モバイル SDK フォーラムにお知らせください。
iAd についてさらに詳しく知るには、以下の Apple リソースをご覧ください。