iPhone から Windows Phone へ: アプリケーション内広告

- Android、iOS 開発者のための Windows Phone アプリケーション開発情報 –

更新日: 2012 年 3 月 1 日

Zip Fileダウンロード [XPS、409 KB | PDF、323 KB]

Windows Phone Interoperability サイト (英語) は、さまざまなスマートフォン プラットフォーム向けにアプリケーションを開発してきた皆様が Windows Phone プラットフォームでの開発をスムーズに始めることができるようにサポートすることを目的に運営しています。この文書は、原文: iPhone to Windows Phone: In-App Advertisements (英語) の日本語訳です。

目次

  • はじめに
  • スマートフォン プラットフォームの UI の比較
  • スマートフォン プラットフォームの比較
  • 位置情報に基づくパーソナライズ
  • まとめ
  • 関連資料とダウンロード

はじめに

スマートフォン アプリケーション内の広告は、有料版、試用版、無料版を問わず多くのアプリケーションで利益創出の手段として活用されています。いずれのスマートフォン プラットフォームも、開発の手間をほとんどかけずに広告を表示できるようにフレームワークを提供しています。iOS デバイス向けには、Apple から iAds というプラットフォームが提供されています。Windows Phone では Microsoft Advertising のプラットフォームおよび SDK を使用できます。

ページのトップへ


スマートフォン プラットフォームの UI の比較

iPhone (図 1) と Windows Phone (図 2) の画面キャプチャのとおり、広告の UI は非常に似ています。長方形の領域で、他の要素の前面に広告を表示しています。iPhone の広告は、グラデーションが適用されたボタンといくつかのアイコン画像で構成されます。Microsoft Advertising のコントロールはそれよりも控えめなデザインです。これは Windows Phone デザイン ガイドラインに準拠しています。広告用コントロールも他の UI コントロールと同様、自由にレイアウトおよび配置できます。

図 1 - iPhone
図 1 - iPhone
図 2 - Windows Phone
図 2 - Windows Phone

Windows Phone の広告はテキスト主体でも画像主体でも作成できますが、ほとんどは純粋なテキストです。コードによる設定で複数の広告を順番に切り替えて表示します。この切り替えを見やすくするために、アプリケーション本体の使用を邪魔することのない簡単なアニメーションが使われています。広告は単純に縦方向に移動します。新しい広告テキストが上から移動してくるのに合わせて、表示中の広告テキストはコントロールの下に移動して消えていくものです。

iAds とは異なり、全画面の対話モードは提供されません。ユーザーが広告をタッチすると、電話が発信されるか、リンク先が Internet Explorer で表示されます。広告での操作が完了したら、ユーザーはハードウェアの戻るボタンを押してアプリケーションに戻ります。この動作がユーザーにとってシームレスであるようにするには、アプリケーションが再開されるときの処理を適切に行うことが重要です。再開の処理は Marketplace の要件として規定されており、追加の作業が必要となるものではありません。

Windows Phone では AdControl UI コントロールを使用して広告を表示しますが、視覚的効果として設定できるオプションは BorderBrush プロパティだけです (このコントロールで表示されるその他の視覚的効果に関連するプロパティは Control クラスから継承されているもので実際には効果が適用されません)。また、これはコードで記述することもできます。以下のように XAML で指定するのが一般的です。

<UI:AdControl Height="80" Width="460" BorderBrush="Blue" />

この例では広告の幅と高さが指定されていることに注意してください。これらのフィールドは必須で、指定がないと広告が表示されません。これらを使用して広告を大きくしたり小さくしたりすることで、独自のレイアウトに適合させることができます。XAML では、色には上記のような既知の名前を使うか、以下のように 16 進数値をそのまま指定します。

<UI:AdControl Height="80" Width="460" BorderBrush="#FFBA2121" />

ページのトップへ


スマートフォン プラットフォームの比較

登録

広告を受信するには、開発者としての登録と、アプリケーションごとの登録が必要です。iAds の場合、iTunes Connect (itunesconnect.apple.com) で iAd Network の契約に署名し、アプリケーションの提出時に広告を有効にします。Microsoft Advertising では pubcenter.microsoft.com で広告用アカウントを登録および管理します。このプロセスには Live ID が必要です。広告用の登録は難しくありませんが、支払いを受けるための追加情報の登録が必要です (この支払いは、1 か月または通算で 5,000 円を超えた時点で発生します)。情報の登録は英語による入力が必須ですのでご注意ください。

1 つ以上のアカウント設定が完了したら、モバイル アプリケーション (開発したアプリケーション) と広告単位 (ターゲット広告のコンテンツ) を登録します。アプリケーションを登録すると GUID 形式のアプリケーション ID が発行されます。アプリケーション ID が生成されると、PubCenter ダッシュボードを使ってアプリケーション単位で広告の成果を確認できるようになります。

iAds のターゲット広告の大部分は地域とアプリケーションのメタ データに基づき自動で挿入されますが、広告単位を編集することで、"ショッピング" や "本と文学" など、ターゲット広告のカテゴリを作成できます。広告単位ごとに最大 3 種類のカテゴリを選択できます。また iAd の URL 除外機能と同様、特定の Web サイトの URL を明示的に除外できます。これによって、たとえば競合他社の広告などを排除できます。成果をより大きくするには、アプリケーションを使用するユーザーの種類に合わせた広告単位を作成するとよいでしょう。広告単位のメリットは、種類が似た複数のアプリケーションで同じ広告単位を共有し、管理を簡素化できる点です (必須ではありません)。

これらの手順が完了したら、アプリケーション ID と広告単位 ID を AdControl XAML に埋め込みます。標準的な XAML の手法では、以下の例のように "UI" プレフィックスを Microsoft.Mobile.Advertising.UI 名前空間に登録し、このアセンブリを参照します。これは iAd.framework を Xcode プロジェクトに追加し、iAd/iAd.h のインポート行を追加するのと同等の設定です。

<UI:AdControl ApplicationId="00000000-0000-0000-0000-000000000000" AdUnitId="00000000" Height="80" Width="460" BorderBrush="Blue" />

これで、完全に機能する広告用コントロールを使えるようになりました。エラーが発生する場合や、何らかの理由で広告が利用できない場合でも、広告用コントロールの領域が既定で確保されます。

更新間隔

特に変更を加えなくても、AdControl には IsAutoRefreshEnabled というプロパティがあり、これによりバックグラウンド タイマーが作成され、広告が自動的に更新されます。このプロパティは既定で true に設定されています。広告の既定の更新間隔は、Microsoft AdControl の場合 60 秒で、iOS の場合は iAd アカウントのサーバー設定で決定します。

広告の数を増やして広告収益の可能性を高めるために、更新間隔を短くすることもできます。マイクロソフトおよびアップルの広告用コントロールは、開発者がコードで設定できるアクションやタイミングに応答する形で動作します。たとえばこの Windows Phone サンプル アプリケーションは、複数の広告をローテーションで表示する際の間隔をタイマーを使って秒数で設定しています。iAd のサンプル アプリケーションも更新間隔を使って同様の操作が可能です。

マイクロソフトのコントロールでは、ストーリーボード アニメーションの使用または DispatchTimer オブジェクトの作成という 2 つの簡単な方法でタイマーのメカニズムを実装できます。採用するソリューションはアプリケーションでの必要性に応じて開発者が判断できますが、多くの場合は UI 処理スレッドのパフォーマンスを考慮して判断します。コードでタイマー ユーティリティ (DispatcherTimer) を使用する方がストーリーボードよりもパフォーマンスは高くなります。タイマーを使用するための 2 段階の手順を以下に示します。

  1. 自動更新設定を無効にします。
// 広告用コントロールを設定する。 adControl.ApplicationId = AD_CENTER_APPLICATION_ID; adControl.AdUnitId = AD_CENTER_AD_UNIT_ID; adControl.IsAutoCollapseEnabled = true; adControl.IsAutoRefreshEnabled = false; adControl.AdRefreshed += new EventHandler(adControl_AdRefreshed);
  1. コントロールの更新メソッドを呼び出すタイマー メカニズムを設定します。
// 新しいタイマーを作成して、Interval を 30 秒に設定する。 DispatcherTimer _timer = null; void InitializeAdRefreshTimer() { _timer = new DispatcherTimer(); _timer.Interval = TimeSpan.FromSeconds(30); _timer.Tick += new EventHandler(timer_Tick); } void timer_Tick(object sender, EventArgs e) { // タイマーを停止して広告を更新する。 _timer.Stop(); adControl.Refresh(); // 注意: AdRefreshed イベントが発生してからタイマーを再開する。 } void adControl_AdRefreshed(object sender, EventArgs e) { // 広告が更新されたのでタイマーを開始する。 _timer.Start(); }

アプリケーション設定

広告が適切に表示されるようにするには、PubCenter アカウントを設定してコントロールを埋め込むことに加えて、適切なアプリケーション設定が必要です。この手順を行わないと、Marketplace でアプリケーションの審査が不合格にされてしまいます。

Windows Phone の場合、このようなアクセス許可は、通常、プロジェクトのプロパティ フォルダーにある WMAppManifest.xml ファイルで設定します。アプリケーションが広告を表示するために必要な最小限の機能 (Capability) を含める必要があります。

<Capabilities> <Capability Name="ID_CAP_IDENTITY_DEVICE" /> <Capability Name="ID_CAP_NETWORKING" /> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> </Capabilities>

ページのトップへ


位置情報に基づくパーソナライズ

Microsoft Advertising プラットフォームでは、郵便番号、緯度/経度、国名からユーザーの現在位置を認識し、それに合わせて広告をパーソナライズできます。位置情報に基づいてカスタマイズを行うには、実際の場所を判定するための追加手順が必要です。また、ユーザーの情報を取得することをユーザー自身に通知すると共に、ユーザーが使用を許可しないという選択をできるようにする必要があります。またマニフェスト ファイルには、機能として ID_CAP_LOCATION を追加します。

ページのトップへ


まとめ

Microsoft Advertising があれば、Windows Phone アプリケーションを簡単に収益化できます。必要な手順は、PubCenter アカウントを作成し、アプリケーションを登録し、広告単位を登録して、AdControl を埋め込むことだけです。Microsoft AdCenterTM の詳細については、http://advertising.microsoft.com/mobile-apps の記事「Windows Phone アプリケーションの収益化 (英語)」を参照してください。

ページのトップへ


関連資料とダウンロード

ページのトップへ