Con il suo rebranding, Adobe Experience Platform Launch viene riproposto come una suite di tecnologie per la raccolta dati all’interno di Experience Platform. Di conseguenza, sono state introdotte diverse modifiche terminologiche nella documentazione del prodotto. Consulta questo documento come riferimento consolidato delle modifiche terminologiche.
In Media SDK standalone, devi configurare il tracciamento nell’app e trasmetterlo
all’SDK quando crei il tracciatore.
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);
Utilizzo di estensioni per dispositivi mobili
Nel Media SDK indipendente puoi creare manualmente l’oggetto MediaHeartbeatConfig
e configurare
i parametri di tracciamento. Implementa l’interfaccia delegata che espone
getQoSObject()
e getCurrentPlaybackTime()functions.
Crea un’istanza MediaHeartbeat
per il tracciamento.
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);
}
Guida di riferimento dell’API Media: creare un tracciatore di elementi multimediali
Prima di creare il tracciatore, è necessario registrare l’estensione Media e
le estensioni dipendenti nel core mobile.
// 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) {
...
}
Una volta registrata l’estensione Media, crea il tracciatore utilizzando la seguente API.
Il tracciatore seleziona automaticamente la configurazione dalla proprietà di avvio configurata.
Media.createTracker(new AdobeCallback<MediaTracker>() {
@Override
public void call(MediaTracker tracker) {
// Use the instance for tracking media.
}
});
In Media SDK standalone, trasmetti un oggetto delegato che implementa l’interfaccia
MediaHeartbeartDelegate
durante la creazione del tracciatore. L’implementazione
deve restituire l’ultimo QoE e l’ultima posizione della testina di riproduzione ogni volta che il tracciatore chiama i
metodi di interfaccia getQoSObject()
e getCurrentPlaybackTime()
.
L’implementazione deve aggiornare la posizione attuale della testina di riproduzione del lettore chiamando il
metodo updateCurrentPlayhead
esposto dal tracker. Per un tracciamento accurato
devi chiamare questo metodo almeno una volta al secondo.
Guida di riferimento dell’API Media: aggiornare il lettore corrente
L’implementazione deve aggiornare le informazioni QoE chiamando il metodo updateQoEObject
esposto dal tracciatore. Questo metodo dovrebbe essere chiamato ogni volta che si verifica
un cambiamento nelle metriche di qualità.
Guida di riferimento dell’API Media: aggiornare l’oggetto QoE
Metadati contenuti multimediali standard:
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);
Metadati annuncio standard:
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);
Metadati contenuti multimediali standard:
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);
Metadati annuncio standard:
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);