XAML/C# 演练中的错误处理

警告

截至 2020 年 6 月 1 日,Windows UWP 应用的Microsoft广告盈利平台将关闭。 了解详细信息

本演练介绍如何在应用中捕获与广告相关的错误。 本演练使用 AdControl 显示横幅广告,但其中的普通概念也适用于间隙广告和本机广告。

这些示例假定你有一个 XAML/C# 应用,其中包含 AdControl。 有关如何将 AdControl 添加到应用的分步说明,请参阅 XAML 和 .NET中的 AdControl。

  1. 在 MainPage.xaml 文件中,找到 AdControl的定义。 该代码如下所示。

    <UI:AdControl
      ApplicationId="00001111-aaaa-2222-bbbb-3333cccc4444"
      AdUnitId="test"
      HorizontalAlignment="Left"
      Height="250"
      Margin="10,10,0,0"
      VerticalAlignment="Top"
      Width="300" />
    
  2. Width 属性之后,但在结束标记之前,将错误事件处理程序的名称分配给 ErrorOccurred 事件。 在本演练中,错误事件处理程序的名称 OnAdErrorxml <UI:AdControl ApplicationId="00001111-aaaa-2222-bbbb-3333cccc4444" AdUnitId="test" HorizontalAlignment="Left" Height="250" Margin="10,10,0,0" VerticalAlignment="Top" Width="300" ErrorOccurred="OnAdError"/>

  3. 若要生成运行时错误,请创建具有不同应用程序 ID 的第二个 AdControl。 由于应用中的所有 AdControl 对象都必须使用相同的应用程序 ID,因此创建具有不同应用程序 ID 的其他 AdControl 将引发错误。

    在第一 AdControl之后,在 MainPage.xaml 中定义第二个 AdControl,并将 ApplicationId 属性设置为零(“0”)。

    <UI:AdControl
        ApplicationId="0"
        AdUnitId="test"
        HorizontalAlignment="Left"
        Height="250"
        Margin="10,265,0,0"
        VerticalAlignment="Top"
        Width="300"
        ErrorOccurred="OnAdError" />
    
  4. 在 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());
    }
    
  5. 生成并运行项目。 在应用运行后,你将在 Visual Studio 的输出窗口中看到与以下内容类似的消息。

    AdControl error (): MicrosoftAdvertising.Shared.AdException: all ad requests must use the same application ID within a single application (0, 11112222-bbbb-3333-cccc-4444dddd5555) ErrorCode: ClientConfiguration