共用方式為


處理廣告錯誤

警告

自 2020 年 6 月 1 日起,Windows UWP 應用程式的 Microsoft 廣告收益平台將會關閉。 深入了解

AdControlInterstitialAdNativeAdsManagerV2 類別各有一個 ErrorOccurred 事件,如果發生廣告相關錯誤,就會引發該事件。 您的應用程式程式碼可以處理此事件,並檢查事件引數物件的 ErrorCodeErrorMessage 屬性,以協助判斷錯誤的原因。

XAML 應用程式

若要處理 XAML 應用程式中的廣告相關錯誤:

  1. AdControlInterstitialAdNativeAdsManagerV2 物件的 ErrorOccurred 事件指派給事件處理常式委派的名稱。

  2. 撰寫錯誤事件處理委派的程式碼,使其接受兩個參數:傳送者的 ObjectAdErrorEventArgs 物件。

以下範例會將名為 OnAdError 的委派指派給名為 myBannerAdControlAdControl 物件的 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 錯誤:

  1. onErrorOccurred 事件指派給事件處理常式。

  2. 為該事件處理常式編碼。

以下範例會將名為 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 中的錯誤處理逐步解說