Migrazione da Media SDK standalone ad Adobe Launch - Android
Configurazione
SDK per contenuti multimediali indipendenti
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);
Estensione Launch
- In Experience Platform Launch, fai clic sulla scheda Extensions per la
proprietà per dispositivi mobile. - Nella scheda Catalog individua l’estensione Adobe Media Analytics for Audio
and Video e fai clic su Install. - Nella pagina delle impostazioni dell’estensione, configura i parametri di tracciamento.
L’estensione Media utilizza i parametri configurati per il tracciamento.
Utilizzo di estensioni per dispositivi mobili
Creazione del tracciamento
SDK per contenuti multimediali indipendenti
Nel Media SDK indipendente puoi creare manualmente l’oggetto MediaHeartbeatConfig
e configurare
i parametri di tracciamento. Implementa l’interfaccia delegata che esponegetQoSObject()
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);
}
Estensione Launch
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.
}
});
Aggiornamento della testina di riproduzione e dei valori di qualità dell’esperienza.
SDK per contenuti multimediali indipendenti
In Media SDK standalone, trasmetti un oggetto delegato che implementa l’interfacciaMediaHeartbeartDelegate
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()
.
Estensione Launch
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
Trasmissione dei contenuti multimediali e dei metadati standard di annunci
SDK per contenuti multimediali indipendenti
-
Metadati contenuti multimediali standard:
code language-java 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:
code language-java 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);
Estensione Launch
-
Metadati contenuti multimediali standard:
code language-java 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:
code language-java 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);