Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Erste Version fertig

Version

1.56 BETA

Datum

0214.1103.20102011

Author

Christopher Wirtz

Versionshistorie

Version

Author

Datum

Bemerkungen

0.1

23.05.2005

Christopher Wirtz

initial

0.5

26.05.2005

Christopher Wirtz

Changes

1.0

02.06.2005

Christopher Wirtz

Release

1.1

12.03.2007

Christopher Wirtz

Flash added

1.2

06.07.2009

Christopher Wirtz

Review/Changes

1.3

14.07.2009

Christopher Wirtz

Added Example to set the „duration" manually in ActionScript

1.4

29.06.2010

Christopher Wirtz

Unload delay

1.5

02.11.2010

Frank Kammann

Add Example using a NetStreamAdapter, streaming segments and parallel streams

1.6

1514.03.2011

Frank Kammannadd more

Beschreibung der grundsätzlichen Funktionsweise der API und Informationen zu den Security-Einstellungen bei Flash

Inhaltsverzeichnis

Table of Contents

...

  • Das System-Objekt, dass Informationen enthält wie Bildschirmauflösung, Playername und Playerversion.

    Variable

    Optional?

    Beschreibung

    sx

    Nein

    Die Bildschirmauflösung (width)

    sy

    Nein

    Die Bildschirmauflösung (height)

    pl

    Nein

    Der Name des Players

    plv

    Nein

    Die Playerversion

  • Die Nutzungsinformationen einer Messung

    Variable

    Optional?

    Beschreibung

    plv

    Nein

    Die Playerversion

    stream

    Nein

    Der Name des Streams

    dur,duration

    Nein, wenn es kein Livestream ist.

    Die Länge des Streams in Sekunden

    sx

    Nein

    Die Videoauflösung (width) oder den Wert 0

    sy

    Nein

    Die Bildschirmauflösung (height) oder den Wert 0

    uid

    Nein

    Die Unique Id des Nutzungsvorganges

    vt

    Nein

    Die Viewtime in Sekunden. Die Viewtime wird gemessen ab dem Aufruf der Methode SpringStreams.track(...)

    pst

    Nein

    Die Playstates. Die Liste mit Sichtungsintervallen auf dem Stream.

Info

Die Beschreibung Codierung des HTTP-Request ist nicht Bestandteil dieser Dokumentation. Der Request ist aber so gestaltet, dass bei Debugging-Tätigkeiten die Variablen trotzdem eindeutig identifizierbar sind.

Einbau über Javascript für beliebige Player (auch proprietäre)

...

Code Block
borderColorgrey
bgColor#eeeeee
langjavascript
borderStylesolid
var myAdapter = {

	"getMeta" : function(id) {
		return {
			"pl" :"own player",
			"pvplv" :"version1"
			"sx" : screen.width,
			"sy" : screen.height
		}
	},
	"getDuration" : function(id) {
		return 0;
	},
	"getPosition" : function(id) {
		return new Date().getTime() / 1000;
	}
};

...

pl

eine kurze Beschreibung des Players

pvplv

die Version des Players

sx

die Breite des Bildschirms in Pixel

sy

die Höhe des Bildschirms in Pixel

...

Code Block
borderColorgrey
bgColor#eeeeee
langhtml
borderStylesolid
<html>
<head>
<title>spring sensors</title>
<script src="springstreams.js"></script>
</head>
<body onunload="unload();">
<script type="text/javascript">

var sensors = new SpringStreams("test"); 
var adapter = {
	"getMeta" : function() {
		return {
			"pl" :"own player",
			"pvplv" :"version1"
			"sx" : screen.width,
			"sy" : screen.height
		}
	},
	"getDuration" : function() {
		return 1000;
	},
	"getPosition" : function() {
		return new Date().getTime() / 1000;
	}
};

var desc = {
	"stream": "videos/teststream"
}

sensors.track("someid", desc, adapter);

// uncomment for debugging
//	sensors.debug = function(v) {
//		window.status = v;
//	}

function unload() {
	sensors.unload();
        // give time for submission
	var start= new Date(); var now = null; do now = new Date();  
        while(now-start < 100);
}
</script>	
</body>

...

Code Block
borderColorgrey
bgColor#eeeeee
langhtml
borderStylesolid
<body onunload="unload()">
...
function unload() {
   	FlexProject.SPRING_UNLOAD();
}

...

Wobei FlexProject die ID des Flash-Objektes ist. Sollte bereits ein unload-Mechanismus in der Flash-Applikation vorhanden sein, so kann dieser die statische Funktion SpringStreams.unload() aufrufen.

Einsatz als Embedded Player und Security Einstellungen

Wenn der Player auf einer anderen Website als Embedded Player eingesetzt werden soll, müssen die Security-Einstellungen beachtet werden.

Folgende Einstellungen sind vorzunehmen (siehe: ExternalInterface#addCallback())

  1. Legen Sie in der HTML-Seite im object-Tag der SWF-Datei den folgenden Parameter fest:
    Code Block
    borderColorgrey
    bgColor#eeeeee
    langactionscript
    borderStylesolid
    
    <param name="allowScriptAccess" value="always" />
    
  2. Fügen Sie in der SWF-Datei den folgenden ActionScript-Code ein:
    Code Block
    borderColorgrey
    bgColor#eeeeee
    langactionscript
    borderStylesolid
    
    flash.system.Security.allowDomain( sourceDomain )
    

Beim Fehlen dieser Einstellungen tritt in der API ein Securityfehler auf, weil der Versuch die SPRING_UNLOAD()-Funktion in der Webseite zu registrieren fehlschlägt. Dieser Fehler wird in der API behandelt und ignoriert und ist nicht zwingend erforderlich für das korrekte Funktionieren der Messung.
Des Weiteren ist für das korrekte Funktionieren auch der Eintrag des Attributes onunload="..." im body-Tag notwendig, um das Verlassen der Seite der API zu melden. Beim Fehlen dieser Einstellungen ist es möglich, dass am Ende der Messung das letzte Event nicht mehr an das Messsystem übermittel wird.

Beispiel Integration in Flash

...