處理廣告錯誤
警告
自 2020 年 6 月 1 日起,Windows UWP 應用程式的 Microsoft 廣告收益平台將會關閉。 深入了解
AdControl、InterstitialAd 和 NativeAdsManagerV2 類別各有一個 ErrorOccurred 事件,如果發生廣告相關錯誤,就會引發該事件。 您的應用程式程式碼可以處理此事件,並檢查事件引數物件的 ErrorCode 和 ErrorMessage 屬性,以協助判斷錯誤的原因。
XAML 應用程式
若要處理 XAML 應用程式中的廣告相關錯誤:
將 AdControl、InterstitialAd 或 NativeAdsManagerV2 物件的 ErrorOccurred 事件指派給事件處理常式委派的名稱。
撰寫錯誤事件處理委派的程式碼,使其接受兩個參數:傳送者的 Object 和 AdErrorEventArgs 物件。
以下範例會將名為 OnAdError 的委派指派給名為 myBannerAdControl 之 AdControl 物件的 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 中的錯誤處理逐步解說。