XAML/C# ウォークスルーでのエラー処理
警告
2020 年 6 月 1 日以降、Windows UWP アプリ用の Microsoft の広告の収益化プラットフォームはシャットダウンされます。 詳細情報
このチュートリアルでは、アプリで広告関連のエラーをキャッチする方法について説明します。 このチュートリアルでは、AdControl を使用してバナー広告を表示していますが、その中の一般的な概念はスポット広告やネイティブ広告にも適用されます。
これらの例は、AdControl を含む XAML/C# アプリがあることを前提としています。 アプリに AdControl を追加する方法を示す具体的な手順については、「XAML および .NET の AdControl」をご覧ください。
MainPage.xaml ファイルで、AdControl の定義を見つけます。 コードは次のようになります。
<UI:AdControl ApplicationId="3f83fe91-d6be-434d-a0ae-7351c5a997f1" AdUnitId="test" HorizontalAlignment="Left" Height="250" Margin="10,10,0,0" VerticalAlignment="Top" Width="300" />
Width プロパティの後、終了タグの前で、エラー イベント ハンドラーの名前を ErrorOccurred イベントに割り当てます。 このウォークスルーでは、エラー イベント ハンドラーの名前は OnAdError です。
xml <UI:AdControl ApplicationId="3f83fe91-d6be-434d-a0ae-7351c5a997f1" AdUnitId="test" HorizontalAlignment="Left" Height="250" Margin="10,10,0,0" VerticalAlignment="Top" Width="300" ErrorOccurred="OnAdError"/>
実行時にエラーを生成するために、2 つ目の AdControl を異なるアプリケーション ID を使って作成します。 アプリ内のすべての AdControl オブジェクトは同じアプリケーション ID を使う必要があるため、追加の AdControl を異なるアプリケーション ID を使って作成するとエラーがスローされます。
MainPage.xaml で、最初の AdControl の直後に 2 つ目の AdControl を定義し、ApplicationId プロパティをゼロ (“0”) に設定します。
<UI:AdControl ApplicationId="0" AdUnitId="test" HorizontalAlignment="Left" Height="250" Margin="10,265,0,0" VerticalAlignment="Top" Width="300" ErrorOccurred="OnAdError" />
MainPage.xaml.cs で、次の OnAdError イベント ハンドラーを MainPage クラスに追加します。 このイベント ハンドラーは、Visual Studio の [出力] ウィンドウに情報を書き込みます。
private void OnAdError(object sender, AdErrorEventArgs e) { System.Diagnostics.Debug.WriteLine("AdControl error (" + ((AdControl)sender).Name + "): " + e.ErrorMessage + " ErrorCode: " + e.ErrorCode.ToString()); }
プロジェクトをビルドして実行します。 アプリの実行後に、次のようなメッセージが Visual Studio の [出力] ウィンドウに表示されます。
AdControl error (): MicrosoftAdvertising.Shared.AdException: all ad requests must use the same application ID within a single application (0, d25517cb-12d4-4699-8bdc-52040c712cab) ErrorCode: ClientConfiguration