Exemplarische Vorgehensweise zur Fehlerbehandlung in JavaScript

Warnung

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

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie Anzeigenfehler in Ihrer JavaScript-App abfangen. In dieser exemplarischen Vorgehensweise wird eine AdControl zum Anzeigen einer Banneranzeige verwendet, 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-Element enthält. Ausführliche Anweisungen zum Hinzufügen von 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]https://github.com/microsoft/Windows-universal-samples/tree/b1cb20f191d3fd99ce89df50c5b7d1a6e2382c01/archived/Advertising).

  1. Fügen Sie in der Datei "default.html" einen Wert für das Ereignis OnErrorOccurred hinzu, wo Sie die data-win-options in div für das 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: '3f83fe91-d6be-434d-a0ae-7351c5a997f1', adUnitId: 'test'}">
    </div>
    
    Fügen Sie nach dem adUnitId-Attribut den Wert für das Ereignis OnErrorOccurred 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: '3f83fe91-d6be-434d-a0ae-7351c5a997f1', adUnitId: 'test', onErrorOccurred: errorLogger}">
    
```
  1. Erstellen Sie ein div-Element, das Text anzeigt, damit Sie die generierte Nachrichten sehen können. Fügen Sie dazu den folgenden Code nach 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, 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 AdControl-Objekts mit einer anderen Anwendungs-ID löst einen Fehler zur Laufzeit aus. Fügen Sie dazu nach den vorherigen div-Abschnitten, die Sie hinzugefügt haben, den folgenden Code im "body"-Abschnitt der Seite "default.html" 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 Datei "default.js" des Projekts fügen nach der Standardinitialisierungsfunktion den Ereignishandler für ErrorLogger hinzu. Führen Sie einen Bildlauf bis zum Ende der Datei durch. Nach dem letzten Semikolon fügen Sie den folgenden Code ein.

    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 diese aus. Sie sehen die ursprüngliche Anzeige aus der Beispiel-App, die Sie zuvor erstellt haben, und der Text unter dieser Anzeige, die den Fehler beschreibt. Sie sehen die Anzeige nicht mit der ID liveAd.