警告
截至 2020 年 6 月 1 日,Windows UWP 应用的Microsoft广告盈利平台将关闭。 了解详细信息
AdControl、InterstitialAd和 NativeAdsManagerV2 类都有一个 ErrorOccurred 事件,如果发生广告相关错误,将触发该事件。 应用代码可以处理此事件,并检查 ErrorCode 和 ErrorMessage 事件参数对象的属性,以帮助确定错误的原因。
XAML 应用
若要处理 XAML 应用中与广告相关的错误,请执行以下操作:
将 AdControl、InterstitialAd或 NativeAdsManagerV2 对象的 ErrorOccurred 事件分配给事件处理程序委托的名称。
对错误事件处理委托进行编码,使其采用两个参数:发送方 对象 和 AdErrorEventArgs 对象。
以下示例将名为 OnAdError 的委托分配给 AdControl 对象名为 myBannerAdControl的 ErrorOccurred 事件。
myBannerAdControl.ErrorOccurred = OnAdError;
下面是 OnAdError 委托的示例定义,该委托将错误信息写入 Visual Studio 中的输出窗口。
private void OnAdError(object sender, AdErrorEventArgs e)
{
System.Diagnostics.Debug.WriteLine("AdControl error (" + ((AdControl)sender).Name + "): " + e.Error +
" ErrorCode: " + e.ErrorCode.ToString());
}
要了解有关在 XAML 和 C# 中处理 AdControl 错误的演练,请参阅 XAML/C# 演练中的 错误处理。
JavaScript/HTML 应用
若要处理 JavaScript 应用中的 ErrorOccur 错误:
将 onErrorOccurred 事件分配给事件处理程序。
对事件处理程序进行编码。
以下示例将名为 errorLogger 的事件处理程序 分配给 AdControl 对象的 ErrorOccurred 事件。
<div id="myAd" style="position: absolute; top: 53px; left: 0px; width: 250px; height: 250px; z-index: 1"
data-win-control="MicrosoftNSJS.Advertising.AdControl"
data-win-options="{applicationId: '00001111-aaaa-2222-bbbb-3333cccc4444', adUnitId: 'test', onErrorOccurred: errorLogger}">
</div>
错误处理函数是声明性的,必须包含在 markSupportedForProcessing 函数中。
错误处理程序在发生错误时捕获 JavaScript 错误对象。 错误对象为错误处理程序提供两个参数。
下面是一个名为 errorLogger 的错误处理函数的示例,用于处理 onErrorOccurred 事件。
WinJS.Utilities.markSupportedForProcessing(
window.errorLogger = function (sender, evt) {
console.log(new Date()).toLocaleTimeString() + ": " + sender.element.id + " error: " + evt.errorMessage +
" error code: " + evt.errorCode + \n");
});
有关演示 JavaScript 中 AdControl 错误处理的演练,请参见 JavaScript 错误处理。