Freigeben über


Exemplarische Vorgehensweise zur Fehlerbehandlung in JavaScript

Warnung

Ab dem 1. Juni 2020 wird die Microsoft Ad Monetization-Plattform für Windows UWP-Apps abgeschaltet. Weitere Informationen

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie Anzeigenfehler in Ihrer JavaScript-App abfangen. In dieser exemplarischen Vorgehensweise wird ein AdControl verwendet, um eine Banneranzeige anzuzeigen, aber die allgemeinen Konzepte gelten auch für Interstitialanzeigen und native Anzeigen.

In diesen Beispielen wird davon ausgegangen, dass Sie über eine JavaScript-App verfügen, die ein AdControl enthält. Schrittweise Anleitungen zum Hinzufügen eines AdControl zu Ihrer App finden Sie unter AdControl in HTML 5 und JavaScript. Ein vollständiges Beispielprojekt, das veranschaulicht, wie Banneranzeigen zu einer JavaScript/HTML-App hinzugefügt werden, finden Sie in den Werbebeispielen auf GitHub.

  1. Fügen Sie in der datei default.html einen Wert für das onErrorOccurred-Ereignis hinzu, in dem Sie die Daten-win-Optionen im div-Element für adControl definieren. Suchen Sie den folgenden Code in der datei 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>
    
    Fügen Sie nach dem adUnitId-Attribut den Wert für das onErrorOccurred-Ereignis hinzu.
    <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. Erstellen Sie ein div-Element , das Text anzeigt, damit Sie die generierten Nachrichten sehen können. Fügen Sie dazu den folgenden Code nach dem div für myAd hinzu.

    <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. Erstellen Sie ein AdControl-Objekt , das ein Fehlerereignis auslöst. Es kann nur eine Anwendungs-ID für alle AdControl-Objekte in einer App vorhanden sein. Das Erstellen eines zusätzlichen Elements mit einer anderen Anwendungs-ID löst also zur Laufzeit einen Fehler aus. Fügen Sie hierzu nach den vorherigen div-Abschnitten , die Sie hinzugefügt haben, dem Textkörper der default.html Seite den folgenden Code hinzu.

    <!-- 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. In der default.js-Datei des Projekts fügen Sie nach der Standardinitialisierungsfunktion den Ereignishandler für errorLogger hinzu. Scrollen Sie zum Ende der Datei, und nach dem letzten Semikolon platzieren Sie den folgenden Code.

    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. Erstellen Sie die Datei, und führen Sie sie aus. Sie sehen die ursprüngliche Anzeige aus der Beispiel-App, die Sie zuvor erstellt haben, und Text unter dieser Anzeige, die den Fehler beschreibt. Die Anzeige wird nicht mit der ID von liveAd angezeigt.