HTML5

Aus Technische Spezifikationen
Zur Navigation springen Zur Suche springen

Anlieferung

Ob eine Werbeform als HTML5 (physisch als Zip-File oder via 3rd-Party-Redirect) bereitgestellt und welche Datei-Typen und -Gewichte enthalten sein können, ist den jeweiligen Einzelspezifikationen zu entnehmen.

Bereitstellung physisch via HTML5-Zip-File

1. Anzuliefern ist ein Zip-File mit allen Komponenten des Werbemittels - einzelne Datei-Bestandteile zum Hosting der Werbeinszenierung dürfen nicht angeliefert werden
2. Auf oberster Zip-Archiv-Ebene muss eine index.html liegen, von der alle weiteren Komponenten (z.B. CSS-, JS-, Bild-Dateien) relativ referenziert werden - vermeiden Sie dabei das Referenzieren von externen Objekten
3. Alle zur Anzeigeninszenierung gehörende Komponenten müssen im Anzeigen iFrame-Tag des Vermarkters verbleiben und dürfen nicht auf das Top-Window/Frame der ausspielenden Website zugreifen.
4. Das HTML5-Project wird über das Templating von iq digital via Cross-Domain-iFrame in die Website integriert.
5. Videodateien können nicht innerhalb von HTML5-Zip-Files zum Host über iq digital angeliefert werden, anderfalls ist die Bereitstellung als 3rd-Party-iFrame erforderlich. Die max. Größe von 2 MB im Host Initiated Subload darf dabei nicht überschritten werden.
6. Alle Bestandteile einer Kampagne und Inhalte eines Creatives sind als HTTPS-kompatible Komponenten anzuliefern bzw. extern bereitzustellen - siehe auch SSL-Konformität (HTTPS).

Die verantwortliche Kreativagentur muss die im Banner verwendeten Techniken auf Browser- und Plattform-kompatibilität testen sowie die Lauffähigkeit der Inszenierung in den relevanten Umfeldern sicherstellen. Sie ist ebenfalls für eine entsprechende Fallbacklösung innerhalb der Inszenierung bei nicht kompatiblen Browser verantwortlich, so dass auf Ausschlüsse verzichtet werden kann.

Bereitstellung via 3rd-Party-Redirect

1. Anzuliefern ist ein 3rd-Party iFrame-Tag
2. Alle zur Anzeigeninszenierung gehörende Komponenten müssen im Anzeigen iFrame-Tag des Rich-Media-Hosts (3rd-Party-Host) verbleiben und dürfen nicht auf das Top-Window/Frame der ausspielenden Website zugreifen.
3. Es gelten generell die Voraussetzungen für die Anlieferung von 3rd-Party-Ressourcen - siehe auch Anlieferung 3rd-Party-Ressourcen.
4. Alle Bestandteile einer Kampagne und Inhalte eines Creatives sind als HTTPS-kompatible Komponenten anzuliefern bzw. extern bereitzustellen - siehe auch SSL-Konformität (HTTPS).

Die verantwortliche Kreativagentur muss die im Banner verwendeten Techniken auf Browser- und Plattform-kompatibilität testen sowie die Lauffähigkeit der Inszenierung in den relevanten Umfeldern sicherstellen. Sie ist ebenfalls für eine entsprechende Fallbacklösung innerhalb der Inszenierung bei nicht kompatiblen Browser verantwortlich, so dass auf Ausschlüsse verzichtet werden kann.

Synchronisation

Local-Connect

HTML5-Werbemittel haben sich mittlerweile am Markt etabliert. Dennoch bereiten in der Praxis einige Funktionalitäten, abhängig von der umgebenden Webseite und Implementierung der Anzeige innerhalb Cross-Origin-iFrames, noch immer Probleme. Aus diesem Grund wurde seitens der Unit Ad Technology des OVKs, auf Basis internationaler Standards (IAB), HTML5 Snippets für diese Funktionalität als technische Empfehlung erarbeitet.

Unter folgendem Link stehen die einzelnen Funktionen, inklusive einer genauen Anleitung zur Verfügung:

URL: https://github.com/Unitadtechnologystandards/HTML5Lib/tree/master/localConnect

iq digital übernimmt keine Gewährleistung für die vom OVK im GIT-Project bereitgestellten


Klickbare Interaktionsflächen innerhalb Ihrer Werbeform

Für eine bessere User-Erfahrung sowie zur Einhaltung spezifizierter Vorgaben müssen einige Werbeformen Interaktionsflächen für gezielte User-Aktionen bereitstellen. Es ist zu beachten in welchen Fällen diese "Buttons" von Seiten der Kreation im Werbemittel zu implementieren sind, oder die Bereitstellung durch von iq digital genutzte Templates automatisch erfolgen (siehe Einzelspezifikation). Solche durch das Werbemittel bereitzustellenden Interaktionsflächen können z.B. Buttons zum Schließen eines Layers, oder Limitierungen sein, die das Pushen oder Expanden eines Banners nur einmal per Mouseover/out erlauben und Folgeausführungen nur noch per Klick auf einen Button gestatten.

Insofern die Kreativagentur selbst für die Bereitstellung einer solchen Schaltfläche im Werbemittel verantwortlich ist und der Klick auf solch einen Button eine durch das iq-Template bereitgestellte Aktion auslösen soll, muss das Template über die Aktivierung des Buttons informiert werden. Da das Werbemittel, wie zuvor beschrieben, bei Verwendung des Vermarkter-Templates als iFrame implementiert ist, greifen die Herausforderungen der Same-Origin-Policy für die Domain-übergreifende Kommunikation (siehe Kapitel: "Local-Connect").

Bitte klären Sie mit Ihrem Dienstleister welche Lösungen dieser zur Bereitstellung der Informationsübergabe umsetzt. Welche "Commands" bzw. "function-calls" dabei vom jeweiligen iq-Template zur Aktionsausführung erwartet werden ist in den jeweiligen Einzelspezifikationen vorgegeben.

BESONDERES: iq-initiierte Benachrichtigungen

iq digital bietet einzelne Werbeformen an, deren Feature-Support hauptsächlich in iq-Werbetemplate implementiert ist. In Fällen, dass diese Templates nach Eintreten einer Aktion eine Benachrichtigung an das Werbemittel-iFrame weiterreichen, so dass die Kreation optional darauf reagieren kann, sind die in der jeweiligen Einzelspezifikation beschriebenen Schnittstellen zur Kommunikation bei Produktion des Werbemittels zu implementieren.

Nachfolgend finden Sie exemplarische Vorlagen zum Domain-übergreifenden Nachrichtenaustausch. Es ist zu beachten, dass es sich dabei um auf iq-Templates abgestimmte Lösungen handelt. Die Plausibilität zur Verwendung in Ihrem Werbemittel-Code ist durch die verantwortliche Agentur sicherzustellen. Insofern abweichende Kommunikations-Schnittstellen in den jeweiligen Einzelspezifikation beschrieben sind, ersetzen diese die exemplarischen Vorlagen. Im Falle von interaktiven Werbeformen, die iq-Templates für die Implementierung Ihrer Werbemittel nutzen, ist das nachgelagerter Verfahren zum Nachrichtenaustausch zwingend erforderlich.

Wenn in der jeweiligen Einzelspezifikation nicht anders beschrieben, werden die oben bereitgestellten Funktionen derzeit nur für Ausspielungen im Bereich Display für das stationäre Desktop-Web unterstützt. D.h. im Falle von Ausspielungen in Systemen, die eine abweichende Gesten- und Touch-Steuerung erfordern, erfolgt kein Expanden des Anzeige-Teilauschnittes über das Werbetemplate (dies entspricht ebenfalls der derzeitigen Vorgehensweise bei Flash-Umsetzungen). Insofern Ihre Werbemittel hierfür einen Workaround vorsehen, teilen Sie das Vorgehen bitte dem verantwortlichen Traffic-Manager mit.


VORLAGE: "Werbemittel"-initiierte Benachrichtigungen an das iq-Template "function-calls"

  1. Dieser Code muss in Ihr Werbemittel im Top-Level-Window "einmalig" eingefügt werden:
    <script type="text/javascript">
      try {
        var iqdNS={};
        iqdNS.addEvent=function(d,c,b){
          if(typeof d.addEventListener!=="undefined"){
            d.addEventListener(c,b,false);
          } else if(typeof d.attachEvent!=="undefined"){
            d.attachEvent("on"+c,b);
          } else if(typeof d["on"+c]!=="undefined"){
            var a=d["on"+c];d["on"+c]=function(f){a(f);b(f);
          }
        };
        iqdNS.postOrigin=(function(){
          var a=window.location.href.toLowerCase();
          return a.split("iqdurl=")[1].split('&')[0]
        })();
        iqdNS.creativeID=(function(){
          var a=window.location.href.toLowerCase();
          return a.split("iqdcid=")[1].split('&')[0]
        })();
        iqdNS.getElm=function(o){
          return(typeof o==="string")?document.getElementById(o):o;
        };
      }catch(e){} 
    </script>
    
  2. Implementieren Sie auf gleicher Ebene den "Messenger", der bei Aktivierung des Klick-Buttons eine Aktion meldet:
    <script type="text/javascript">
      try {
        iqdNS.postCommand[iq-command] = function() {
          var msgData = {
            info:"startAnimation"+iqdNS.creativeID,
            command:"[iq-command]"
          }; 
          if (JSON.stringify){
            window.top.postMessage(JSON.stringify(msgData), iqdNS.postOrigin);
          }
        }; 
        iqdNS.addEvent(iqdNS.getElm("[action-elmID]"),'click',iqdNS.postCommand[iq-command]); 
      }catch(e){}
    </script>
    
  3. Ersetzen Sie [iq-command] durch die auf den Einzelseiten spezifizierten "commands" sowie das [action-elmID] durch die Element-ID Ihres "click-buttons". Werbeformabhängig können mehrere "commands" erforderlich sein. In diesen Fällen ist die markierte Funktion entsprechend in Ihrem Code zu duplizieren und die Platzhalter gemäß der Einzelspezifikation anzupassen.

Dieser Code setzt voraus, dass Sie Zugriff auf Ihr HTML5-Projekt und die darin vorhandene Code-Struktur zur Steuerung und Organisation der Animationssequenzen haben sowie, dass alle Elemente im iFrame auf Top-Level definiert sind. Im Falle, dass die Kreation über einen Rich-Media-Dienstleister gehostet wird ist die Kompatibilität durch die Agentur zu klären. Die iq-command-Ausführung muss von der Kreativagentur auf Funktionsfähigkeit vor Anlieferung getestet werden. Lokal definierte Vorlagen in den Einzelspezifikationen ersetzen diese Vorlage!

VORLAGE: "iq"-initiierte Benachrichtigungen an das Werbemittel "function-calls"

  1. Dieser Code muss in Ihr Werbemittel im Top-Level-Window "einmalig" eingefügt werden:
    <script type="text/javascript">
      try {
        var iqdNS={};
        iqdNS.addEvent=function(d,c,b){
          if(typeof d.addEventListener!=="undefined"){
            d.addEventListener(c,b,false);
          } else if(typeof d.attachEvent!=="undefined"){
            d.attachEvent("on"+c,b);
          } else if(typeof d["on"+c]!=="undefined"){
            var a=d["on"+c];d["on"+c]=function(f){a(f);b(f);
          }
        };
        iqdNS.postOrigin=(function(){
          var a=window.location.href.toLowerCase();
          return a.split("iqdurl=")[1].split('&')[0]
        })();
        iqdNS.creativeID=(function(){
          var a=window.location.href.toLowerCase();
          return a.split("iqdcid=")[1].split('&')[0]
        })();
        iqdNS.getElm=function(o){
          return(typeof o==="string")?document.getElementById(o):o;
        };
      }catch(e){} 
    </script>
    
  2. Implementieren Sie auf gleicher Ebene den "Listener", der bei Benachrichtigung durch das iq-Template eine Aktion ausführt:
    <script type="text/javascript">
      try {
        iqdNS.initAnimation=function(b){
          var a;
          if(b.origin===iqdNS.postOrigin){
            a=JSON.parse(b.data);
            if(a.info==="startAnimation"+iqdNS.creativeID){
              iqdNS.animationCallback(a.command)
            }
          }
        }; 
        iqdNS.animationCallback = function(command){
          switch (command){ 
            case "[iq-command]": 
              // Fügen Sie hier den Funktionsaufruf zum Start Ihrer Animation ein. 
              break; 
          }
        };
        iqdNS.addEvent(window,'message',iqdNS.initAnimation);
      } catch(e){}
    </script>
    
  3. Ersetzen Sie [iq-command] durch die auf den Einzelseiten spezifizierten "commands" sowie den Kommentarbereich durch Ihren jeweiligen Funktionsaufruf zur Aktionsausführung. Je nach Werbeform können aktionsabhängig mehrere "Commands" gesendet werden. In diesen Fällen ist die markierte case-Anweisung entsprechend zu ersetzen (siehe Werbeformspezifikation).

Dieser Code setzt voraus, dass Sie Zugriff auf Ihr HTML5-Projekt und die darin vorhandene Code-Struktur zur Steuerung und Organisation der Animationssequenzen haben sowie, dass alle Elemente im iFrame auf Top-Level definiert sind. Im Falle, dass die Kreation über einen Rich-Media-Dienstleister gehostet wird ist die Kompatibilität durch die Agentur zu klären. Die iq-Command-Ausführung muss von der Kreativagentur auf Funktionsfähigkeit getestet werden. Lokal definierte Vorlagen in den Einzelspezifikationen ersetzen diese Vorlage!

Click-Tracking (für Bereitstellung physisch als HTML5-Zip-File)

Der AdServer des Vermarkters kann nur dann die Klicks auf ein HTML5-Werbemittel korrekt messen, wenn im Creative-Code (HTML5 der Creative-Agentur) eine klick sensitive Fläche mit Funktion für die Weiterleitung zur Kunden-Zielseite umgesetzt und das Einfügen von AdServer-Makros zum Zählen von Klicks möglich ist.

Werbemittel, die physisch als HTML5-Zip-File an iq digital geliefert werden, werden bei der Auslieferung als Cross-Domain-iFrame implementiert. Wir empfehlen daher das vom OVK standardisierte Verfahren zu Übergabe des Vermarkter AdServer-Makro zum Zählen von Klicks und Kunden ClickThrough für die Weiterleitung zur Kunden-Zielseite via GET-Parameter.

clicktag-Übergabe für HTML5-Inszenierungen nach OVK Guidlines

Damit der AdServer des Vermarkters Clicks innerhalb des HTML5-iFrames tracken kann, ist folgende Vorgehensweise aus den OVK-Guidlines erforderlich:

Die Schreibweise für Klicktag lautet: clicktag
Die Schreibweise für Multi-Klicktags lautet: clicktag, clicktag2, clicktag3
Verlinkung: Verlinkung zur Landingpage muss eine neues Fenster öffnen

Die folgenden Codezeilen sind in das HTML5‐Werbemittel zur Übergabe des Klicktags von der Agentur zu integrieren:

<script>
  var getUriParams = function() {
    var query_string = {}, query = window.location.search.substring(1), parmsArray = query.split('&');
    if(parmsArray.length <= 0) return query_string;
    for(var i = 0; i < parmsArray.length; i++) {
      var pair = parmsArray[i].split('=');
      var val = decodeURIComponent(pair[1]);
      if (val != '' && pair[0] != '') query_string[pair[0]] = val;
    }
    return query_string;
  }();
</script>

Beispiel: HTML und Zuweisung der Links:

<a href="#clicktag" target="_blank" id="clicktag">IAB clicktag</a>
<a href="#clicktag2" target= "_blank" id="clicktag2">IAB clicktag</a>

Mit diesen Javascript Zeilen lassen sich dann die Klicktags den HTML Elementen Ihrer Werbeinszenierung zuweisen:

<script>
  document.getElementById('clicktag').setAttribute('href', getUriParams.clicktag);
  document.getElementById('clicktag2').setAttribute('href', getUriParams.clicktag2);
</script>

Funktionstest der clicktag-GET-Parameter für Übergabe an das Werbemittel:

Die Werbemittel müssen von der Kreativagentur auf funktionierende clicktag‐Übergabe getestet werden, damit unnötige Feedbackschleifen ausgeschlossen werden können.

Test

html5werbemittel.html?clicktag=%LANDINGPAGE%

%LANDINGPAGE% ist mit einer Testzielseite zu ersetzen und muss URL‐encoded übergeben werden (encodeURIComponent‐Funktion).

Im Falle der Multiclick-Einbindung, ist der Test um weitere clicktag-Parameter (&)-separiert zu erweitern:

?clicktag=%LANDINGPAGE%&clicktag2=%LANDINGPAGE%&… 

Innerhalb eines Werbemittels ist keine getrennte Ausweisung von Multi-clicktags im Vermarkter-Report möglich. Klicks werden immer kumuliert pro Werbeform im Vermarkter-Report ausgewiesen.

Anlieferung

Anlieferung: Stellen Sie die clicktag/Landingpage- Kombinationen in Ihrer Werbemittel-Mail zur Verfügung.