Поделиться через


Пошаговое руководство по обработке ошибок JavaScript

Предупреждение

По состоянию на 1 июня 2020 г. платформа Монетизации Microsoft Ad для приложений Windows UWP будет закрыта. Подробнее

В этом пошаговом руководстве показано, как перехватывать ошибки, связанные с рекламой, в приложении JavaScript. В этом пошаговом руководстве для отображения баннерной рекламы используется AdControl , но общие понятия в нем также применяются к промежуточным объявлениям и собственным объявлениям.

В этих примерах предполагается, что у вас есть приложение JavaScript, содержащее AdControl. Пошаговые инструкции по добавлению AdControl в приложение см. в статье AdControl в HTML 5 и JavaScript. Полный пример проекта, демонстрирующий добавление рекламных баннеров в приложение JavaScript/HTML, см. в примерах рекламы на сайте GitHub.

  1. В файле default.html добавьте значение для события onErrorOccurred , в котором определяются параметры win-data в div для AdControl. Найдите следующий код в файле default.html.
    <div id="myAd" style="position: absolute; top: 53px; left: 0px; width: 300px; height: 250px; z-index: 1"
      data-win-control="MicrosoftNSJS.Advertising.AdControl"
      data-win-options="{applicationId: '00001111-aaaa-2222-bbbb-3333cccc4444', adUnitId: 'test'}">
    </div>
    
    После атрибута adUnitId добавьте значение для события onErrorOccurred .
    <div id="myAd" style="position: absolute; top: 53px; left: 0px; width: 300px; height: 250px; z-index: 1"
      data-win-control="MicrosoftNSJS.Advertising.AdControl"
      data-win-options="{applicationId: '00001111-aaaa-2222-bbbb-3333cccc4444', adUnitId: 'test', onErrorOccurred: errorLogger}">
    
```
  1. Создайте div, который будет отображать текст, чтобы увидеть создаваемые сообщения. Для этого добавьте следующий код после div для myAd.

    <div style="position:absolute; width:100%; height:130px; top:300px; left:0px">
        <b>Ad Events</b><br />
        <div id="adEvents" style="width:100%; height:110px; overflow:auto"></div>
    </div>
    
  2. Создайте AdControl, который активирует событие ошибки. В приложении может быть только один идентификатор приложения для всех объектов AdControl . Таким образом, при создании дополнительной с другим идентификатором приложения возникает ошибка во время выполнения. Для этого после добавленных предыдущих разделов div добавьте следующий код в текст страницы default.html.

    <!-- Because only one applicationId can be used, the following ad control will fire an error event. -->
    <div id="liveAd" style="position: absolute; top:500px; left:0px; width:480px; height:80px"
      data-win-control="MicrosoftNSJS.Advertising.AdControl"
      data-win-options="{applicationId: '00000000-0000-0000-0000-000000000000', adUnitId: 'test', onErrorOccurred: errorLogger }" >
    </div>
    
  3. В файле default.js проекта после функции инициализации по умолчанию вы добавите обработчик событий для errorLogger. Прокрутите страницу до конца файла и после последнего запятой двоеточия будет помещен следующий код.

    WinJS.Utilities.markSupportedForProcessing(
    window.errorLogger = function (sender, evt) {
        adEvents.innerHTML = (new Date()).toLocaleTimeString() + ": " +
        sender.element.id + " error: " + evt.errorMessage + " error code: " +
        evt.errorCode + "<br>" + adEvents.innerHTML;
        console.log("errorhandler hit. \n");
    });
    
  4. Создайте и запустите файл. Вы увидите исходную рекламу из примера приложения, созданного ранее, и текст в этой рекламе, описывающей ошибку. Вы не увидите объявление с идентификатором liveAd.