Show Menu
TOPICS×

Migração do SDK do Media independente para o Adobe Launch - Android

Configuração

SDK do Media independente

No SDK do Media independente, é possível configurar o rastreamento no aplicativo e transmiti-lo para o SDK ao criar o rastreador.
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);

Extensão do Launch

  1. No Experience Platform Launch, clique na guia Extensões para sua propriedade móvel.
  2. Na guia Catálogo, localize a extensão Adobe Media Analytics para áudio e vídeo e clique em Instalar.
  3. Na página de configurações da extensão, defina os parâmetros de rastreamento. A extensão do Media usa os parâmetros configurados para rastreamento.

Criação do rastreador

SDK do Media independente

No SDK do Media independente, crie manualmente o objeto
MediaHeartbeatConfig
e configure os parâmetros de rastreamento. Implemente a interface delegada expondo
getQoSObject()
e
getCurrentPlaybackTime()functions.
Crie uma instância
MediaHeartbeat
para rastreamento.
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); }

Extensão do Launch

Antes de criar o rastreador, registre a extensão de mídia e as extensões dependentes no núcleo móvel.
// 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) { ... }
Depois de registrar a extensão de mídia, crie o rastreador usando a seguinte API. O rastreador escolhe automaticamente a configuração da propriedade de inicialização configurada.
Media.createTracker(new AdobeCallback<MediaTracker>() { @Override public void call(MediaTracker tracker) { // Use the instance for tracking media. } });

Atualização dos valores Indicador de reprodução e Qualidade da experiência.

SDK do Media independente

No SDK do Media independente, transmita um objeto delegado que implementa a interface
MediaHeartbeartDelegate
durante a criação do rastreador. A implementação deve retornar a QoE e o indicador de reprodução mais recentes sempre que o rastreador chamar os métodos de interface
getQoSObject()
e
getCurrentPlaybackTime()
.

Extensão do Launch

A implementação deve atualizar o indicador de reprodução atual, chamando o método
updateCurrentPlayhead
exposto pelo rastreador. Para um rastreamento preciso, você deve chamar esse método pelo menos uma vez por segundo.
A implementação deve atualizar as informações da QoE, chamando o método
updateQoEObject
exposto pelo rastreador. Esperamos que esse método seja chamado sempre que houver uma mudança nas métricas de qualidade.

Transmissão de metadados de mídia/anúncio padrão

SDK do Media independente

  • Metadados de mídia padrão:
    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);
  • Metadados de anúncio padrão:
    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);

Extensão do Launch

  • Metadados de mídia padrão:
    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);
  • Metadados de anúncio padrão:
    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);