XAML および .NET の AdControl
警告
2020 年 6 月 1 日以降、Windows UWP アプリ用の Microsoft の広告の収益化プラットフォームはシャットダウンされます。 詳細情報
このチュートリアルでは、AdControl クラスを使用して、C# を使用して実装されている Windows 10 または Windows 11 用の ユニバーサル Windows プラットフォーム (UWP) XAML アプリにバナー広告を表示する方法について説明します。
Note
Microsoft Advertising SDK では、C++ を使用して実装される XAML アプリもサポートされています。 完全なサンプル プロジェクトについては、GitHub の広告サンプルをご覧ください。
前提条件
- Visual Studio 2015 以降のリリースの Visual Studio でMicrosoft Advertising SDK をインストールします。 インストール手順については、この記事 参照してください。
バナー広告をアプリに統合する
Visual Studio でプロジェクトを開くか、新しいプロジェクトを作ります。
Note
既存のプロジェクトを使用している場合は、プロジェクトで Package.appxmanifest ファイルを開き、 Internet (クライアント) 機能が選択されていることを確認します。 アプリでは、テスト広告とライブ広告を受け取るためにこの機能が必要です。
プロジェクトのターゲットが [Any CPU] (任意の CPU) になっている場合は、アーキテクチャ固有のビルド出力 (たとえば、[x86]) を使うようにプロジェクトを更新します。 プロジェクトのターゲットが [Any CPU] (任意の CPU) になっていると、次の手順で Microsoft Advertising ライブラリへの参照を正常に追加できません。 詳しくは、「プロジェクトのターゲットを "Any CPU" に設定すると参照エラーが発生する」をご覧ください。
プロジェクトで Microsoft Advertising SDK への参照を追加します。
- [ソリューション エクスプローラー] ウィンドウで、[参照設定] を右クリックし、[参照の追加] を選択します。
- Reference Managerで、Universal Windowsを展開し、Extensionsをクリックし、XAML 用 Microsoft Advertising SDK (バージョン 10.0) の横にあるチェック ボックス選択します。
- [参照マネージャー] で、[OK] をクリックします。
Microsoft.Advertising.WinRT.UI 名前空間を含むように、広告を埋め込むページの XAML を変更します。 たとえば、Visual Studio によって生成された既定のサンプル アプリ (このアプリでは MyAdFundedWindows10AppXAML) では、XAML ページは MainPage.XAML。
Visual Studio によって生成された MainPage.xaml ファイルの Page セクションには、次のコードがあります。
<Page x:Class="MyAdFundedWindows10AppXAML.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyAdFundedWindows10AppXAML" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> </Grid> </Page>
MainPage.xaml ファイルの Page セクションに次のコードが含まれるようにMicrosoft.Advertising.WinRT.UI 名前空間参照を追加します。
<Page x:Class="MyAdFundedWindows10AppXAML.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyAdFundedWindows10AppXAML" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:UI="using:Microsoft.Advertising.WinRT.UI" mc:Ignorable="d"> <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> </Grid> </Page>
Grid タグに、AdControl のコードを追加します。 AdUnitId プロパティと ApplicationId プロパティに、広告ユニットのテスト値を割り当てます。 また、コントロールの Height と Width を調整して、バナー広告の サポートされている広告サイズの 1 つになるようにします。
Note
すべての AdControl には対応する adユニットがあり 当社のサービスがコントロールに広告を配信するために使用され、すべての広告ユニットは adユニットID と アプリケーションIDで構成されています。 これらの手順では、テスト広告ユニット ID とアプリケーション ID の値をコントロールに割り当てます。 これらのテスト値は、テスト バージョンのアプリでのみ使用できます。 ストアにアプリを公開する前に、これらのテスト値をパートナー センターから取得した実際の値に置き換える 必要があります。
完全な Grid タグは、次のコードのようになります。
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <UI:AdControl ApplicationId="3f83fe91-d6be-434d-a0ae-7351c5a997f1" AdUnitId="test" HorizontalAlignment="Left" Height="250" VerticalAlignment="Top" Width="300"/> </Grid>
MainPage.xaml ファイルの完全なコードは次のようになります。
<Page x:Class="MyAdFundedWindows10AppXAML.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:MyAdFundedWindows10AppXAML" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:UI="using:Microsoft.Advertising.WinRT.UI" mc:Ignorable="d"> <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> <UI:AdControl ApplicationId="3f83fe91-d6be-434d-a0ae-7351c5a997f1" AdUnitId="test" HorizontalAlignment="Left" Height="250" VerticalAlignment="Top" Width="300"/> </Grid> </Page>
アプリをコンパイルして実行し、広告で表示します。
ライブ広告でアプリをリリースする
アプリでのバナー広告の使用は、バナー広告の ガイドラインに従ってください。
パートナー センターで [アプリ内広告] に進み、広告ユニットを作成します。 広告ユニットの種類として、 Banner を指定します。 広告ユニット ID とアプリケーション ID の両方をメモしておきます。
Note
テスト広告ユニットとライブ UWP 広告ユニットでは、アプリケーション ID の値の形式が異なります。 テスト アプリケーション ID の値は GUID です。 パートナー センターでライブ UWP 広告ユニットを作成する場合、広告ユニットのアプリケーション ID の値は、アプリのストア ID と常に一致します (9NBLGGH4R315 はストア ID の例です)。
必要に応じて、AdControl の広告仲介を有効にするには、[In-app ads] ページの [Mediation settings] セクションで設定を構成します。 広告仲介を使用すると、複数の広告ネットワークからの広告を表示することで、広告の収益とアプリのプロモーション機能を最大化できます。これには、タブーラや Smaato などの他の有料広告ネットワークからの広告や、Microsoft アプリプロモーション キャンペーン用の広告が含まれます。
コードの広告ユニットのテスト値 (ApplicationId と AdUnitId) を、パートナー センターで生成した実際の値に置き換えます。
パートナー センターを使用してストアにアプリを申請します。
パートナー センターで広告パフォーマンス レポートを確認します。
アプリで複数の広告コントロールの広告ユニットを管理する
1 つのアプリで複数の AdControl オブジェクトを使用できます (たとえば、アプリ内の各ページで異なる AdControl オブジェクトをホストする場合があります)。 このシナリオでは、各コントロールに異なる広告ユニットを割り当てることをお勧めします。 各コントロールに異なる広告ユニットを使用することで、別々に仲介の設定を構成して、個別の報告データを取得することが可能です。 また、これにより、Microsoft のサービスはアプリに提供する広告を最適化できます。
重要
各広告ユニットは 1 つのアプリのみで使用できます。 同じ広告ユニットを複数のアプリで使うと、その広告ユニットには広告が配信されません。