Show Menu
TEMAS×

Métodos DIL de nivel de instancia

Las DIL API de nivel de instancia permiten crear y trabajar mediante programación con objetos de Audience Manager. Los métodos de nivel de instancia mejoran la funcionalidad de API establecida por los métodos de nivel de clase.

Introducción a los métodos DIL de nivel de instancia

Al trabajar con las DIL API de nivel de instancia:
  • Access requiere un nombre de socio e ID de espacio de nombres de contenedor (NSID). Póngase en contacto con el administrador de cuentas de Audience Manager para obtener esta información.
  • Reemplace cualquier ejemplo de texto en cursiva de la documentación de API con valor, ID u otra variable según lo requiera el método con el que esté trabajando.

señales

Agrega asignaciones de nivel de cliente y de plataforma a la cadena de consulta de una solicitud pendiente.
**** Firma de función: signals: function ({key1:value1, key2:value2},prefix){}
  • Puede encadenar otras llamadas de API a este método.
  • Si la biblioteca JavaScript de Adobe Experience Cloud está en la página, submit() espera a que Cloud establezca una cookie antes de enviar una solicitud.
Claves de solicitud reservadas
Las siguientes claves de solicitud están reservadas y no se pueden sobrescribir con este método:
  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest
Parámetros
Nombre
Tipo
Descripción
obj
Objeto
Un objeto que representa los pares clave-valor para las asignaciones de nivel de plataforma. El parámetro acepta cadenas y matrices como valores de propiedad en el objeto.
prefix
Cadena
Opcional. El valor de cadena tiene el prefijo de cada clave de objeto (reemplaza a la clave original).
return
DIL.api
Devuelve el objeto API de la instancia DIL actual.
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner: Contenedor de '

partnerName

' NSID: 

containerNSID

 }); 
 
// Método 1 var obj = { key1 : 1, key2: 2 }; 
dataLib.api.signal(obj, 'c_').submit(); 
 
// Método 2 dataLib.api.signal({c_zdid: 54321}).submit(); 
 
// Método 3 // Enviará 'c_key=a&c_key=2&c_key=3' a Audience Manager var obj = { key : ['a', 'b', 'c'] }; 
dataLib.api.signal(obj, 'c_').submit(); 


traits

Agrega SID a la cadena de consulta de una solicitud pendiente.
**** Firma de función: traits:function (sids){}
Puede encadenar otras llamadas de API a este método.
Parámetros
Nombre
Tipo
Descripción
sids
Matriz
ID de segmentos de características en una matriz.
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var partnerObject = DIL.create({ partner: '

partner name

', containerNSID: 

NSID

 }); 
partnerObject.api.traits(

[123, 456, 789]

); 


logs

Agregue datos a los archivos de registro en la solicitud pendiente.
**** Firma de función: logs: function {key1:value1, key2:value2}
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var partnerObject = DIL.create({ partner: '

partner

', containerNSID: 

NSID

 }); 
partnerObject.api.logs({ file: 'dil.js', mensaje: 'Esta es la primera solicitud' });


submit

Envía todos los datos pendientes a Audience Manager para la DIL instancia.
**** Firma de función: submit: function () {}
Puede encadenar otras llamadas de API a este método. Además, DIL escribe datos codificados en una cookie de destino. Por ejemplo, los espacios se codifican como %20 y punto y coma como %3B .
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123,456, 789

]).logs({ archivo: 'dil.js', mensaje: 'Esta es la primera solicitud' }).signal({ c_zdid: 

1111

 d_dma: '

default

' }).submit();


afterResult

Función que se ejecuta después de la llamada de retorno de publicación de destino predeterminada.
**** Firma de función: afterResult: function (fn) {}
Puede encadenar otras llamadas de API a este método.
Parámetros
Nombre
Tipo
Descripción
fn
Función
La función que desea ejecutar después de que JSON se procese mediante la llamada de retorno predeterminada que gestiona la publicación de destino.
Respuesta
Devuelve un objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.signal({ c_zdid: 

54321

 d_dma: '

default

' }).afterResult(function(json){ //Haga algo con los datos JSON devueltos por el servidor. 
}).submit();


clearData

Borra todos los datos de una solicitud pendiente.
**** Firma de función: clearData: function () {}
Puede encadenar otras llamadas de API a este método.
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123,456, 789

]).logs({ archivo: Mensaje 'dil.js': 'Esta es la primera solicitud' }).signal({ c_zdid: 

1111

 d_dma: '

default

' }); 
 
//Restablecer los datos pendientes dataLib.clearData();


customQueryParams

Agrega parámetros de consulta personalizados que el servidor de recopilación de datos no ha definido explícitamente a una solicitud pendiente.
**** Firma de función: customQueryParams: function (obj) {}
Puede encadenar otras llamadas de API a este método.
Claves de solicitud reservadas
Las siguientes claves de solicitud están reservadas y no se pueden sobrescribir con este método:
  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest
Respuesta
Devuelve el objeto API de la instancia DIL actual.
Código de ejemplo
var partnerObject = DIL.create({ partner: '

partner

', containerNSID: 

NSID

 }); 
partnerObject.api.customQueryParams({ nid: 54231, ntype: 'default' }); 


getContainerNSID

Devuelve el valor del NSID del contenedor para la DIL instancia. Útil para la depuración y la solución de problemas.
**** Firma de función: dil.api.getContainerNSID: function () {}
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
//Verificar el contenedor NSID var nsid = dataLib.api.getContainerNSID();


getEventLog

Devuelve los datos del registro de eventos ordenados cronológicamente como una matriz de cadenas. Útil para la depuración y la solución de problemas.
**** Firma de función: dil.api.getEventLog: function () {}
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).logs({ archivo: 'dil.js', mensaje: 'Esta es la primera solicitud' });.signal({ c_zdid: 

1111

 d_dma: '

default

' });.submit(); 
 
//Comprobar registro de mensajes var log = dataLib.api.getEventLog(); 
if (log && log.length) { alert(log.join('\n')); 
} else{ alert('No log messages'); 
}

getPartner

Devuelve el nombre del socio de una DIL instancia. Útil para la depuración y la solución de problemas.
**** Firma de función: dil.api.getPartner: function () {}
Código de ejemplo
var dataLib = DIL.create({ partner: Contenedor de '

partnerName

' NSID: 

containerNSID

 }); 
 
//Verifique el nombre del socio var partner = dataLib.api.getPartner();


getState

Devuelve el estado de la DIL instancia actual. Útil para la depuración y la solución de problemas.
**** Firma de función: dil.api.getState: function () {}
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).logs({ archivo: 'dil.js', mensaje:'Esta es la primera solicitud' });.señales({ c.zdid: 

1111

 d_dma: '

default

' });.submit(); 
 
var state = dataLib.api.getState(); 
 
/*Esquema de objeto de estado = { pendingRequest: {datos

pendientes para la llamada al servidor

}, otherRequestInfo:{ firingQueue: [], activado: [], activación: false, error: [], reservedKeys: { sids: true, pdata: true, logdata: true, callback: true, postCallbackFn: true, useImageRequest: true, }, firstRequestHasFired: false, num_of_jsonp_responses: 0, num_of_jsonp_errors: 0, num_of_img_responses: 0, num_of_img_errors: 0 }, destinationPublishingInfo: { THROTTLE_START: 3000, throttleTimerSet: false, id: ''destination_publishing_iframe_' + partner + '_' + containerNSID, url: (constantes.isHTTPS ? 'https://' : 'https://fast.') + partner + '.demdex.net/dest3.html?d_nsid=' + containerNSID + '#' + encodeURIComponent(document.location.href), iframe: null, iframeHasLoaded: false, sendMessages: false, mensajes: [], messageSendingInterval: constantes.POST_MESSAGE_ENABLED ? 15: 100, //Recomendar 100 ms para IE 6 y 7, 15 ms para otros exploradores jsonProcesados: [] } */

idSync

Consiste en dos funciones que permiten a los socios de datos intercambiar y sincronizar los ID de usuario entre ellos y Audience Manager.
Firma de función:
Funciona con DIL las versiones 2.10 y 3.1 o superior.
Código Sincroniza los ID de los usuarios
dil.Instance.api.idSync(initConfig)
Entre diferentes socios de datos y Audience Manager. Por ejemplo, el socio x utilizaría esto para sincronizar un ID de usuario con el socio y y, a continuación, enviarlo a Audience Manager.
Importante: Este método está en desuso. Utilice el método idSyncByURL de la instancia del servicio de ID de Experience Cloud.
dil.Instance.api.aamIdSync(initConfig)
Cuando ya conoce el ID de usuario y desea enviarlo a Audience Manager.
Importante: Este método está en desuso. Utilice el método idSyncByDataSource de la instancia del servicio de ID de Experience Cloud.
idSync Elements
idSync puede constar de lo siguiente:
Nombre Tipo Descripción
dpid Cadena
ID de proveedor de datos asignado por Audience Manager.
dpuuid Cadena
El ID exclusivo de proveedor de datos para el usuario.
minutesToLive Número
(Opcional) Establece el tiempo de caducidad de la cookie. Debe ser un número entero. El valor predeterminado es de 20160 minutos (14 días).
url Cadena
Dirección URL de destino.
Macros
idSync acepta las siguientes macros:
  • %TIMESTAMP% : genera una marca de hora (en milésimas de segundo). Se emplea para ignorar la caché.
  • %DID% : inserta el ID de Audience Manager para el usuario.
  • %HTTP_PROTO% :: Establece el protocolo de página ( http o https ).
Respuesta
Ambas funciones se devuelven Successfully queued si se realizan correctamente. Si no, devuelven una cadena con un mensaje de error.
Código de ejemplo
dilInstance.api.idSync(initConfig)
// Corrige la dirección URL con macros reemplazadas por dilInstance.api.idSync({ dpid: '23', // debe ser una dirección URL de cadena: '//su.addthis.com/red/usync?pid=16&puid=%DID%&url=%HTTP_PROTO%%3A%2F%2Fdpm.demdex.net %2Fibs%3Adpid%3D420%26dpuuid%3D%7B%7Buid%7D%7D', minutosAActivo: 20160 // opcional, el valor predeterminado es 20160 minutos (14 días) });


dilInstance.api.aamIdSync(initConfig)
// Corrige 'https:/https:' + '//dpm.demdex.net/ibs:dpid=<dpid>&dpuuid=<dpuuid>' dilInstance.api.aamIdSync({ dpid: '23', // debe ser un dpuuid de cadena: '98765', // debe ser una cadena minutesToLive: 20160 // opcional, el valor predeterminado es 20160 minutos (14 días) });


result

Agrega una llamada de retorno (que recibe JSON) a la solicitud pendiente.
**** Firma de función: result: function (callback) {}
Esta llamada de retorno reemplaza la llamada de retorno predeterminada que gestiona la publicación de destino.
Puede encadenar otras llamadas de API a este método.
Parámetros
Nombre
Tipo
Descripción
callback
Función
Función JavaScript ejecutada por la llamada de retorno JSONP.
Respuesta
Devuelve el objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).result(function(json){ //Haga algo, posiblemente con los datos JSON devueltos por el servidor. 
});.submit();


secureDataCollection

secureDataCollection es un parámetro booleano que controla cómo DIL se realizan las llamadas a Data Collection Servers (DCS) y Akamai.
  • Cuando secureDataCollection= true (predeterminado), DIL siempre realiza llamadas HTTPS seguras.
  • Cuando secureDataCollection= false , DIL realiza llamadas HTTP o HTTPS siguiendo el protocolo de seguridad establecido por la página.
Se establece secureDataCollection= false si utiliza visitorAPI.js y DIL en la misma página. Consulte el ejemplo de código siguiente.
var dilInstance = DIL.create({... 
     secureDataCollection: false });


useCORSOnly

useCORSOnly es un parámetro booleano true/false que controla la forma en que el explorador solicita recursos de otros dominios.
Información general
useCORSOnly es false de forma predeterminada. False significa que el explorador puede realizar comprobaciones de recursos con CORS o JSONP. Sin embargo, DIL siempre intenta solicitar recursos primero con CORS. Vuelve a JSONP en navegadores anteriores que no son compatibles con CORS. Si necesita obligar al explorador a utilizar sólo CORS, como en sitios que tienen requisitos de alta seguridad, establezca useCORSOnly:true .
Ejemplo de código
var dilInstance = DIL.create({... 
     useCORSOnly: true });


  • Le recomendamos que configure useCORSOnly: true solo cuando esté seguro de que los visitantes del sitio tienen exploradores que admitan esta función.
  • Cuando useCORSOnly: true , no DIL realizará llamadas de ID desde Internet Explorer versión 9 o posterior.

useImageRequest

Cambia el tipo de solicitud a imagen <img> desde la secuencia de comandos <src> .
**** Firma de función: useImageRequest: function () {}
Puede encadenar otras llamadas de API a este método.
Respuesta
Devuelve un objeto API de la DIL instancia actual.
Código de ejemplo
var dataLib = DIL.create({ partner:'

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).useImageRequest().submit();