Migration von 2.x JS SDK zu 3.x JS SDK

Neue Funktionen

  • Verwenden von MediaCollection-APIs
  • Benutzerdefinierte Statusverfolgung

Verbesserungen

  • Bereitstellen der globalen Konfiguration für die Medienbibliothek
  • Einfache Tracker-Erstellung
  • APIs zur Bereitstellung von Abspielkopf- und QoE-Informationen hinzugefügt
  • API zum Zerstören der Tracker-Instanz
  • Vereinfachen Sie das Festlegen von standardmäßigen/benutzerdefinierten Metadaten für Medien und Anzeigen

API-Vergleich

Media-Klasse

Funktionalität
2.x
3.x
Namespace
ADB.va.MediaHeartbeat
ADB.Media
Konfiguration
Parameter MediaHeartbeat Konstruktors
configure(mediaConfig, appMeasurement)
Tracker erstellen
new MediaHeartbeat(...)
getInstance()
Statische Methoden
createMediaObject(...)
createMediaObject(...)
createAdBreakObject(...)
createAdBreakObject(...)
createAdObject(...)
createAdObject(...)
createChapterObject(...)
createChapterObject(...)
createQoSObject(...)
createQoEObject(...)
K. A.
createStateObject()
Instanzmethoden
trackSessionStart(...)
trackSessionStart(...)
trackPlay()
trackPlay()
trackPause()
trackPause()
trackComplete()
trackComplete()
trackSessionEnd()
trackSessionEnd()
trackEvent(...)
trackEvent(...)
trackError(...)
trackError(...)
-/-
updatePlayhead(playhead)
K. A.
updateQoEObject(qoeObject)
Tracker zerstören
K. A.
destroy()

MediaConfig-Klasse

Funktionalität
2.x
3.x
Namespace
ADB.va.MediaHeartbeatConfig
ADB.MediaConfig
Konstruktor
new MediaHeartbeatConfig()
new MediaConfig()
Konfigurationsparameter
trackingServer
trackingServer
channel
channel
ovp
K. A.
appVersion
appVersion
playerName
playerName
ssl
ssl
debugLogging
debugLogging

Codevergleich

Konfiguration und Tracker-Erstellung

2.x

    var MediaHeartbeat = ADB.va.MediaHeartbeat;
    var MediaHeartbeatConfig = ADB.va.MediaHeartbeatConfig;
    var MediaHeartbeatDelegate = ADB.va.MediaHeartbeatDelegate;

    // Create MediaHeartbeatConfig object
    var mediaConfig = new MediaHeartbeatConfig();
    mediaConfig.trackingServer = "tracking_server";
    mediaConfig.playerName = "player_name";
    mediaConfig.channel = "sample_channel";
    mediaConfig.ovp = "sample_ovp";
    mediaConfig.appVersion = "app_version";
    mediaConfig.debugLogging = true;
    mediaConfig.ssl = true;

    // Instance of MediaHeartbeatDelegate to return playhead and qosInfo to the tracker
    ADB.core.extend(SampleMediaHeartbeatDelegate.prototype,
                         MediaHeartbeatDelegate.prototype);
    function SampleMediaHeartbeatDelegate() { ... }
    SampleMediaHeartbeatDelegate.prototype.getCurrentPlaybackTime = function() {
        // Returns the current playhead from the player.
    }
    SampleMediaHeartbeatDelegate.prototype.getQoSObject = function() {
        // Returns the current QOS information if available from the player.
    }

    // Create tracker instance by passing mediaConfig, appMeasurement instancee and player delegate
    var tracker = new MediaHeartbeat( new SampleMediaHeartbeatDelegate(),
                                      mediaConfig,
                                      appMeasurement);

3.x

    var Media = ADB.Media;
    var MediaConfig = ADB.MediaConfig;

    // Create MediaConfig object (same as above)
    var mediaConfig = new MediaConfig();
    mediaConfig.trackingServer = "tracking_server";
    mediaConfig.playerName = "player_name";
    mediaConfig.channel = "sample_channel";
    mediaConfig.appVersion = "app_version";
    mediaConfig.debugLogging = true;
    mediaConfig.ssl = true;

    // Configuration is only done once per page
    // and applies to all tracker instances created.
    Media.configure(mediaConfig, appMeasurement);

    // Tracker creation.
    var tracker = Media.getInstance();

Abspielkopf- und QoE-Informationen für den Tracker bereitstellen

2.x

    // Instance of MediaHeartbeatDelegate to return playhead and qosInfo to the tracker
    ADB.core.extend(SampleMediaHeartbeatDelegate.prototype,
                         MediaHeartbeatDelegate.prototype);
    function SampleMediaHeartbeatDelegate(player) { this.player = player }
    SampleMediaHeartbeatDelegate.prototype.getCurrentPlaybackTime = function() {
        // Returns the current playhead from the player.
        return this.player.playhead;
    };
    SampleMediaHeartbeatDelegate.prototype.getQoSObject = function() {
        // Returns the current QOS information if available from the player.
        var qosInfo = MediaHeartbeat.createQoSObject(this._player.bitrate,
                                                     this._player.startupTime,
                                                     this._player.fps,
                                                     this._player.droppedFrames);
        return qosInfo;
    };

    // Pass the delegate instance when creating the tracker.
    var tracker = new MediaHeartbeat( new SampleMediaHeartbeatDelegate(),
                                      mediaConfig,
                                      appMeasurement);

3.x

        // When playhead changes, call
        tracker.updatePlayhead(this._player.playhead)

        // When new QoE information is available, call
        var qoeInfo = Media.createQoEObject(this._player.bitrate,
                                                     this._player.startupTime,
                                                     this._player.fps,
                                                     this._player.droppedFrames);
        tracker.updateQoEObject(qoeInfo)

Standard- und benutzerdefinierte Metadaten für Medien und Anzeigen

Medien

2.x

    var mediaObject = MediaHeartbeat.createMediaObject("name",
                                                       "id",
                                                       60.0,
                                                       MediaHeartbeat.StreamType.VOD,
                                                       MediaHeartbeat.MediaType.Video);
    // standard metadata
    var standardMetadata = {};
    standardMetadata[MediaHeartbeat.VideoMetadataKeys.SEASON] = "sample season";
    standardMetadata[MediaHeartbeat.VideoMetadataKeys.SHOW] = "sample show";
    // Set standard metadata on media object.
    mediaObject.setValue(MediaHeartbeat.MediaObjectKey.StandardMediaMetadata,
                               standardMetadata);

    // custom metadata
    var customMetadata = {
        "customKey1" : "custom value",
        "customKey2" : "custom value"
    };

    mediaTracker.trackSessionStart(mediaObject, customMetadata);

3.x

    var mediaObject = Media.createMediaObject("name",
                                           "id",
                                           60.0,
                                           Media.StreamType.VOD,
                                           Media.MediaType.Video);

    var metadata = {};
    // standard metadata
    metadata[Media.VideoMetadataKeys.Season] = "sample season";
    metadata[Media.VideoMetadataKeys.Show] = "sample show";
    // custom metadata
    metadata["customKey1"] = "custom value";
    metadata["customKey2"] = "custom value";

    mediaTracker.trackSessionStart(mediaObject, metadata);

Werbeanzeigen

2.x

    var adObject = MediaHeartbeat.createAdObject("adName",
                                                 "adId",
                                                  1,
                                                  15.0);

    // standard metadata
    var standardAdMetadata = {};
    standardAdMetadata[MediaHeartbeat.AdMetadataKeys.ADVERTISER] = "Sample Advertiser";
    standardAdMetadata[MediaHeartbeat.AdMetadataKeys.CAMPAIGN_ID] = "Sample Campaign";
    // Set standard metadata on ad object.
    adObject.setValue(MediaHeartbeat.MediaObjectKey.StandardAdMetadata,
                               standardAdMetadata);

    // custom metadata
    var customMetadata = {
        "customKey1" : "custom value",
        "customKey2" : "custom value"
    };

    mediaTracker.trackEvent(MediaHeartbeat.Event.AdStart, adObject, customMetadata);

3.x

    var adObject = Media.createAdObject("adName",
                                                 "adId",
                                                  1,
                                                  15.0);

    var metadata = {};
    // standard metadata
    metadata[Media.AdMetadataKeys.Advertiser] = "Sample Advertiser";
    metadata[Media.AdMetadataKeys.CampaignId] = "Sample Campaign";
    // custom metadata
    metadata["customKey1"] = "custom value";
    metadata["customKey2"] = "custom value";

    mediaTracker.trackEvent(Media.Event.AdStart, adObject, metadata);
recommendation-more-help
media-analytics-help