Información general

TVSDK admite la resolución e inserción de anuncios para flujos VOD y en directo/lineal.

NOTA

Antes de incluir publicidad en el contenido de vídeo, proporcione la siguiente información de metadatos:

  • Un mediaID, que identifica el contenido específico que se va a reproducir.
  • Su zoneID, que identifica a su empresa o sitio web.
  • El dominio del servidor de publicidad, que especifica el dominio del servidor de publicidad asignado.
  • Otros parámetros de segmentación.

Configurar metadatos del servidor de publicidad de Primetime

La aplicación debe proporcionar a TVSDK la información PTAuditudeMetadata necesaria para conectarse al servidor de publicidad.

Para configurar los metadatos del servidor de publicidad:

  1. Cree una instancia de PTAuditudeMetadata y defina sus propiedades.

    PTAuditudeMetadata *adMetadata = [[PTAuditudeMetadata alloc] init];  
    adMetadata.zoneId = @"INSERT_YOUR_ZONE_ID_HERE"; 
    adMetadata.domain = @"INSERT_YOUR_DOMAIN_HERE"; 
    // Optionally set user agent 
    adMetadata.userAgent = @"INSERT_AGENT_NAME_HERE; 
    
  2. Establezca la instancia PTAuditudeMetadata como metadatos para los metadatos actuales PTMediaPlayerItem mediante PTAdResolvingMetadataKey.

    // Metadata is an instance of PTMetadata that is used to create the PTMediaPlayerItem 
    [metadata setMetadata:adMetadata forKey:PTAdResolvingMetadataKey];  
    [adMetadata release];
    

    Este es un ejemplo:

    PTMetadata *metadata = [self createMetadata]; 
    PTMediaPlayerItem *item =  
      [[[PTMediaPlayerItem alloc] initWithUrl:url mediaId:yourMediaID metadata:metadata] autorelease]; 
    
    - (PTMetadata *) createMetadata { 
        PTMetadata* metadata = [[[PTMetadata alloc] init] autorelease]; 
    
        PTAuditudeMetadata *adMetadata = [[[PTAuditudeMetadata alloc] init] autorelease];  
        adMetadata.zoneId = yourZoneID; 
        adMetadata.domain = yourAdServerDomain; 
    
        [metadata setMetadata:adMetadata forKey:PTAdResolvingMetadataKey]; 
    
        return metadata; 
    }
    

Habilitar anuncios en reproducción de eventos completos

La reproducción de eventos completos (FER) es un recurso de VOD que actúa como activo/DVR, por lo que la aplicación debe tomar medidas para garantizar que los anuncios se coloquen correctamente.

Para el contenido en directo, TVSDK utiliza los metadatos/indicaciones del manifiesto para determinar dónde colocar los anuncios. Sin embargo, a veces el contenido en directo/lineal puede parecerse al contenido de VOD. Por ejemplo, cuando el contenido en directo se completa, se añade una etiqueta EXT-X-ENDLIST al manifiesto en directo. Para HLS, la etiqueta EXT-X-ENDLIST significa que el flujo es un flujo de VOD. TVSDK no puede diferenciar automáticamente este flujo de un flujo de VOD normal para insertar anuncios correctamente.

La aplicación debe indicar a TVSDK si el contenido está activo o VOD; para ello, especifique PTAdSignalingMode.

Para un flujo FER, el servidor de Adobe Primetime ad decisioning no debe proporcionar la lista de pausas publicitarias que deben insertarse en la cronología antes de iniciar la reproducción. Este es el proceso típico del contenido de VOD. En su lugar, al especificar un modo de señalización diferente, TVSDK lee todos los puntos de referencia del manifiesto FER y va al servidor de publicidad de cada punto de referencia para solicitar una pausa publicitaria. Este proceso es similar al contenido en directo/DVR.

Además de cada solicitud asociada a un punto de referencia, TVSDK realiza una solicitud de anuncio adicional para anuncios previos a la emisión.

  1. Desde una fuente externa, como vCMS, obtenga el modo de señalización que debe utilizarse.

  2. Cree los metadatos relacionados con la publicidad.

  3. Si se debe sobrescribir el comportamiento predeterminado, especifique PTAdSignalingMode utilizando PTAdMetadata.signalingMode.

    Los valores válidos son PTAdSignalingModeDefault, PTAdSignalingModeManifestCues y PTAdSignalingModeServerMap.

    Debe establecer el modo de señalización de publicidad antes de llamar a prepareToPlay. Una vez que TVSDK empiece a resolver y a colocar anuncios en la cronología, se omiten los cambios en el modo de señalización de anuncios. Establezca el modo cuando cree los metadatos de publicidad para el recurso.

  4. Continúe con la reproducción.

       PTMetadata *metadata = [[[PTMetadata alloc] init] autorelease]; 
    PTAuditudeMetadata *adMetadata = [[[PTAuditudeMetadata alloc] init] autorelease]; 
    adMetadata.zoneId = your-auditude-zone-id; 
    adMetadata.domain = @"your-auditude-domain"; 
    //adMetadata.enableDVRAds = YES; // FOR LIVE DVR case 
    //adMetadata.signalingMode = PTAdSignalingModeManifestCues;  
    // FOR VOD FER case 
    NSMutableDictionary *targetingParameters = [[[NSMutableDictionary alloc] init] autorelease]; 
    [targetingParameters setValue:@"ipad" forKey:@"device"]; 
    [targetingParameters setValue:@"preroll" forKey:@"AD_OPPORTUNITY_ID"]; 
    adMetadata.targetingParameters = targetingParameters; 
    NSMutableDictionary *customParameters = [[[NSMutableDictionary alloc] init] autorelease]; 
    [customParameters setValue:@"your-media-id" forKey:@"NW_ID"]; 
    [customParameters setValue:@"preroll" forKey:@"AD_OPPORTUNITY_ID"]; 
    adMetadata.customParameters = customParameters; 
    [metadata setMetadata:adMetadata forKey:PTAdResolvingMetadataKey]; 
    

En esta página