Adobe Experience Platform Launch wurde umbenannt und umfasst eine Suite von Datenerfassungstechnologien in Experience Platform. Infolgedessen wurden in der gesamten Produktdokumentation mehrere terminologische Änderungen vorgenommen. Eine Übersicht der terminologischen Änderungen finden Sie im folgenden Dokument.
Sie konfigurieren im Standalone Media SDK das Tracking in der App, das beim Erstellen des Trackers an das SDK übergeben wird.
MediaHeartbeatConfig config = new MediaHeartbeatConfig();
config.trackingServer = "namespace.hb.omtrdc.net";
config.channel = "sample-channel";
config.appVersion = "v2.0.0";
config.ovp = "video-provider";
config.playerName = "native-player";
config.ssl = true;
config.debugLogging = true;
MediaHeartbeat tracker = new MediaHeartbeat(... , config);
Verwendung mobiler Erweiterungen
Im Standalone Media SDK erstellen Sie das Objekt MediaHeartbeatConfig
manuell und konfigurieren die Tracking-Parameter. Implementieren Sie die Delegate-Schnittstelle, auf der getQoSObject()
und getCurrentPlaybackTime()functions.
verfügbar sind. Erstellen Sie eine MediaHeartbeat
-Instanz zum Tracking.
MediaHeartbeatConfig config = new MediaHeartbeatConfig();
config.trackingServer = "namespace.hb.omtrdc.net";
config.channel = "sample-channel";
config.appVersion = "v2.0";
config.ovp = "video-provider";
config.playerName = "native-player";
config.ssl = true;
config.debugLogging = true;
MediaHeartbeatDelegate delegate = new MediaHeartbeatDelegate() {
@Override
public MediaObject getQoSObject() {
// When called should return the latest qos values.
return MediaHeartbeat.createQoSObject(<bitrate>,
<startupTime>,
<fps>,
<droppedFrames>);
}
@Override
public Double getCurrentPlaybackTime() {
// When called should return the current player time in seconds.
return <currentPlaybackTime>;
}
MediaHeartbeat tracker = new MediaHeartbeat(delegate, config);
}
Media API-Referenz – Erstellen eines Medien-Trackers
Bevor Sie den Tracker erstellen, registrieren Sie die Media-Erweiterung und die abhängigen Erweiterungen beim Mobile Core.
// Register the extension once during app launch
try {
// Media needs Identity and Analytics extension
// to function properly
Identity.registerExtension();
Analytics.registerExtension();
// Initialize media extension.
Media.registerExtension();
MobileCore.start(new AdobeCallback () {
@Override
public void call(Object o) {
// Launch mobile property to pick extension settings.
MobileCore.configureWithAppID("LAUNCH_MOBILE_PROPERTY");
}
});
} catch (InvalidInitException ex) {
...
}
Nachdem Sie die Media-Erweiterung registriert haben, erstellen Sie den Tracker mithilfe der folgenden API.
Der Tracker übernimmt automatisch die Konfiguration der Launch-Eigenschaft.
Media.createTracker(new AdobeCallback<MediaTracker>() {
@Override
public void call(MediaTracker tracker) {
// Use the instance for tracking media.
}
});
Im Standalone Media SDK übergeben Sie ein Delegate-Objekt, das die MediaHeartbeartDelegate
-Schnittstelle während der Tracker-Erstellung implementiert. Durch die Implementierung werden die aktuellen QoE- und die Abspielleistendaten zurückgegeben, wenn der Tracker die Schnittstellen-Methoden getQoSObject()
und getCurrentPlaybackTime()
aufruft.
Durch die Implementierung wird die aktuelle Player-Abspielleiste aktualisiert, indem die updateCurrentPlayhead
-Methode aufgerufen wird, die vom Tracker verfügbar gemacht wird. Für ein exaktes Tracking sollten Sie diese Methode mindestens einmal pro Sekunde aufrufen.
Media API-Referenz – Aktuellen Player aktualisieren
Durch die Implementierung sollte die QoE-Informationen aktualisiert werden, indem die vom Tracker verfügbar gemachte updateQoEObject
-Methode aufgerufen wird. Diese Methode wird bei jeder Änderung der Qualitätsmetriken aufgerufen.
Media API-Referenz – QoE-Objekt aktualisieren
Standard-Medienmetadaten:
MediaObject mediaInfo =
MediaHeartbeat.createMediaObject("media-name",
"media-id",
60D,
MediaHeartbeat.StreamType.VOD,
MediaHeartbeat.MediaType.Video);
// Standard metadata keys provided by adobe.
Map <String, String> standardVideoMetadata =
new HashMap<String, String>();
standardVideoMetadata.put(MediaHeartbeat.VideoMetadataKeys.EPISODE,
"Sample Episode");
standardVideoMetadata.put(MediaHeartbeat.VideoMetadataKeys.SHOW,
"Sample Show");
standardVideoMetadata.put(MediaHeartbeat.VideoMetadataKeys.SEASON,
"Sample Season");
mediaInfo.setValue(MediaHeartbeat.MediaObjectKey.StandardMediaMetadata,
standardVideoMetadata);
// Custom metadata keys
HashMap<String, String> mediaMetadata = new HashMap<String, String>();
mediaMetadata.put("isUserLoggedIn", "false");
mediaMetadata.put("tvStation", "Sample TV Station");
tracker.trackSessionStart(mediaInfo, mediaMetadata);
Standard-Anzeigenmetadaten:
MediaObject adInfo =
MediaHeartbeat.createAdObject("ad-name",
"ad-id",
1L,
15D);
// Standard metadata keys provided by adobe.
Map <String, String> standardAdMetadata =
new HashMap<String, String>();
standardAdMetadata.put(MediaHeartbeat.AdMetadataKeys.ADVERTISER,
"Sample Advertiser");
standardAdMetadata.put(MediaHeartbeat.AdMetadataKeys.CAMPAIGN_ID,
"Sample Campaign");
adInfo.setValue(MediaHeartbeat.MediaObjectKey.StandardAdMetadata,
standardAdMetadata);
HashMap<String, String> adMetadata =
new HashMap<String, String>();
adMetadata.put("affiliate",
"Sample affiliate");
tracker.trackEvent(MediaHeartbeat.Event.AdStart,
adObject,
adMetadata);
Standard-Medienmetadaten:
HashMap<String, Object> mediaObject =
Media.createMediaObject("media-name",
"media-id",
60D,
MediaConstants.StreamType.VOD,
Media.MediaType.Video);
HashMap<String, String> mediaMetadata =
new HashMap<String, String>();
// Standard metadata keys provided by adobe.
mediaMetadata.put(MediaConstants.VideoMetadataKeys.EPISODE,
"Sample Episode");
mediaMetadata.put(MediaConstants.VideoMetadataKeys.SHOW,
"Sample Show");
// Custom metadata keys
mediaMetadata.put("isUserLoggedIn", "false");
mediaMetadata.put("tvStation", "Sample TV Station");
tracker.trackSessionStart(mediaInfo, mediaMetadata);
Standard-Anzeigenmetadaten:
HashMap<String, Object> adObject =
Media.createAdObject("ad-name",
"ad-id",
1L,
15D);
HashMap<String, String> adMetadata =
new HashMap<String, String>();
// Standard metadata keys provided by adobe.
adMetadata.put(MediaConstants.AdMetadataKeys.ADVERTISER,
"Sample Advertiser");
adMetadata.put(MediaConstants.AdMetadataKeys.CAMPAIGN_ID,
"Sample Campaign");
// Custom metadata keys
adMetadata.put("affiliate",
"Sample affiliate");
_tracker.trackEvent(Media.Event.AdStart,
adObject,
adMetadata);