Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Mithilfe von PS.Content #Insights können nicht nur Artikel-Nutzungsdaten, sondern auch beliebige weitere Metriken, wie zB. Aufrufe von Webseiten, Web-Services, App-Interaktionen etc erfasst werden.

...

Dazu wird der Stammdatendialog "#Insights: Externes Tracking" verwendet. 


Image RemovedImage Added

In diesem Dialog wird zunächst ein neuer Tracking-Client (in Beispiel WebAnzeigen und HUP NewsReader App) angelegt.

Pro Tracking-Client können dann beliebige Tracking-Events angelegt werden. (Im Beispiel APP-LAUNCH, EPAPER-DL, etc.)

Die ClientDer Applikations- und Event-ID der Eventcode wird für die Tracking-API verwendet, der "Anzeigename" für die Anzeige im #Insights Dashboard. Beides kann nachträglich geändert werden, bereits erfasste Daten werden automatisch überführt.

Sind ein Client Ist eine Applikation oder ein Event nicht aktiv können über die Tracking-API keine neuen Impressions erzeugt werden. Vorhandene Daten bleiben bestehen.


Tracking über die REST API

Die Tracking API ist selbstdokumentierend über eine Swagger-UI aufrufbar: 

http://INSIGHTS-PROXY-SERVER-URL/swagger-ui.html#/ext-impression-controller


Im Folgenden werden die APIs nach ihrem chronologsichen Ablauf beschrieben:

  • (optional) Erstellen einer neuen eindeutigen Client ID 
  • Abrufen einer Impression ID 
  • (optional) Setzen einer bereits vorhandenen eindeutigen Client ID
  • Auslösen eines Tracking-Ereignisses

Erstellen einer eindeutigen Client ID für ein Endgerät / eine Benutzersitzung (optional)

Um Metriken gerätespezifisch oder sitzungsspezifisch aufzuzeichnen, kann über die API 'generateUniqueClientId' eine Client-ID erstellt und in allen API-Aufrufen optional übermittelt werden. Die Client-ID sollte in einem Cookie oder dem App-Speicher abgelegt und später wieder verwendet werden.

Beispiel:

/generateUniqueClientId
Response: 45bc2918-7151-4cb9-8ae9-5b39913af5fb (HTTP Code 200)

Abrufen einer Impression ID für ein Tracking-Objekt

Über die API "impression" wird eine eindeutige Impression ID abgerufen. Als Parameter ist der Tracking-Client als 'applicationCode' und die Client-Version als 'version' zu übergeben. Optional kann eine 'uniqueClientId' übermittelt werden. Alle Parameter sind vom Typ 'string'.

Beispiel:

/impression?trackingcode=NWSRDR&version=1.50
Response: 56d2882f-68aa-43f6-8748-6c9e7e583ef5 (HTTP Code 200)

Setzen einer vorhandenen Client ID für eine Impression (optional)

Einer bereits registrierten Impression kann über die API 'clientid4impression' nachträglich eine bereits vorhandene Client-ID aufgeprägt werden (zB. wenn sich der Anwender erst nachträglich anmeldet). 

Beispiel:

/clientid4impression?uniqueClientId=45bc2918-7151-4cb9-8ae9-5b39913af5fb&impressionid=56d2882f-68aa-43f6-8748-6c9e7e583ef5
Response:(HTTP Code 200)

Tracking eines Ereignisses

Nachdem eine Impression-ID registriert wurde, können dieser beliebig viele Events zugeordnet werden, also das eigentliche Tracking erfolgen. (zB. das Downloaden einer ePaper Ausgabe)

Die API

...

TBD'event' akzeptiert optional eine JSON Struktur, mit der weitere Daten je Event fest gehalten werden können (also zB. das Datum und die jeweilige Ausgabe eines ePapers).

Beispiel:

/event?eventCode=APP-LAUNCH&impressionId=56d2882f-68aa-43f6-8748-6c9e7e583ef5
Response:(HTTP Code 200)

Optionale JSON struktur (HTTP PUT):

{
"array": true,
"bigDecimal": true,
"bigInteger": true,
"binary": true,
"boolean": true,
"containerNode": true,
"double": true,
"float": true,
"floatingPointNumber": true,
"int": true,
"integralNumber": true,
"long": true,
"missingNode": true,
"nodeType": "ARRAY",
"null": true,
"number": true,
"object": true,
"pojo": true,
"short": true,
"textual": true,
"valueNode": true
}