TVSDK admite anuncios tipo titular adjuntos, que son anuncios que acompañan un anuncio lineal y que a menudo permanecen en la página después de que finaliza el anuncio lineal. La aplicación es responsable de mostrar los banners adjuntos que se proporcionan con un anuncio lineal.
Cuando muestre anuncios complementarios, siga estas recomendaciones:
Intente presentar tantos anuncios de banner de acompañamiento de un anuncio de vídeo como se ajuste al diseño del reproductor.
Presente un banner complementario solo si tiene una ubicación que coincida exactamente con la altura y anchura especificadas.
No cambie el tamaño del banner.
Presente los banners adjuntos lo antes posible después de que comience el anuncio.
No superponga el contenedor principal de anuncios/vídeos con banners complementarios.
Continúe mostrando banners complementarios una vez que finalice el anuncio.
El estándar es mostrar cada banner complementario hasta que tenga un reemplazo para este banner.
El contenido de un AdBannerAsset describe un banner complementario.
El evento AdPlaybackEvent.AD_STARTED
devuelve una instancia Ad
que contiene una propiedad companionAssets
( Vector.<AdAsset>
).
Cada AdAsset
proporciona información sobre cómo mostrar el recurso.
Información disponible | Descripción |
---|---|
width | Anchura del banner complementario en píxeles. |
height | Altura del banner complementario en píxeles. |
tipo de recurso | El tipo de recurso para este banner complementario:
|
datos de banner | Los datos del tipo especificado por resourceType para este banner complementario. |
dirección URL estática | A veces, el banner complementario también tiene una dirección URL estática que es una dirección URL directa a la imagen o a un .swf (titular flash). Si no desea utilizar html o iframe, puede utilizar una dirección URL directa para una imagen o un swf para mostrar el banner en la fase de Flash. En este caso, puede utilizar la dirección URL estática para mostrar el banner. Importante: Debe comprobar si la dirección URL estática es una cadena válida, ya que es posible que esta propiedad no siempre esté disponible. |
Para mostrar anuncios de banners, debe crear instancias de banners y permitir que TVSDK escuche eventos relacionados con anuncios.
TVSDK proporciona una lista de anuncios de tipo titular asociados con un anuncio lineal a través del evento de evento AdPlaybackEvent.AD_STARTED
.
Los manifiestos pueden especificar anuncios de banners complementarios mediante:
Para cada anuncio complementario, TVSDK indica qué tipos están disponibles para su aplicación.
Añada un oyente para el evento AdPlaybackEvent.AD_STARTED
que haga lo siguiente:
Borra los anuncios existentes en la instancia del banner.
Obtiene la lista de anuncios complementarios de Ad.companionAssets
.
Si la lista de anuncios complementarios no está vacía, repita la lista para las instancias de banner.
Cada instancia de banner ( AdBannerAsset
) contiene información, como ancho, alto, tipo de recurso (html, iframe o static) y datos necesarios para mostrar el banner complementario.
Si una publicidad de vídeo no tiene anuncios complementarios reservados con ella, la lista de recursos complementarios no contiene datos para esa publicidad de vídeo.
Para mostrar un anuncio en pantalla independiente, agregue la lógica a la secuencia de comandos para ejecutar una etiqueta de publicidad de visualización DFP normal (DoubleClick for Publishers) en la instancia de banner adecuada.
Envía la información del banner a una función de su página, normalmente JavaScript, mediante ExternalInterface
, que muestra los banners en una ubicación adecuada.
Normalmente es div
y su función utiliza el div ID
para mostrar el banner. Por ejemplo:
Añada el detector de eventos:
_player.addEventListener(AdobePSDK.PSDKEventType.AD_STARTED, onAdStarted);
Implemente el controlador de escucha:
private function onAdStarted(event:AdPlaybackEvent):void {
// check if there are any companion banner
if (event.ad && event.ad.companionAssets
&& event.ad.companionAssets.length > 0) {
for each (var banner:AdBannerAsset in event.ad.companionAssets) {
if (ExternalInterface.available) {
//-- call the java script that will handle the banner display.
ExternalInterface.call('addBanner', banner.resourceType,
banner.width, banner.height, banner.bannerData);
}
}
}
//...
}
Ejemplo de JavaScript para gestionar la visualización:
function addBanner(resourceType, width, height, data) {
console.log(resourceType + "," + width + "," + height);
//Assume an html element on the page with id like 'banner300x250'
var bannerDiv = document.getElementById('banner' + width +
'x' + height);
if (bannerDiv != null) {
if (resourceType == "html") { // for html resource
bannerDiv.innerHTML = data;
}
else if (resourceType == "iframe") { // for iframe resource
bannerDiv.innerHTML = "<iframe src='" + data +
"' width='100%' height='100%'></iframe>";
}
}
}