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

NOTE
A Adobe Experience Platform Launch está sendo reformulada como um conjunto de tecnologias de coleção de dados na Experience Platform. Como resultado, várias alterações de terminologia foram implementadas na documentação do produto. Consulte o seguinte documento para obter uma referência consolidada das alterações de terminologia.

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.

Uso de extensões móveis

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

Referência da API do Media - Criar um Media Tracker

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.

Referência da API do Media - Atualizar reprodutor atual

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.

Referência da API do Media - Atualizar objeto de QoE

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

SDK do Media independente

  • Metadados de mídia padrão:

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

    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);
    

Extensão do Launch

  • Metadados de mídia padrão:

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

    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);
    
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb