Métodos de DIL em nível de instância instance-level-dil-methods
As APIs do DIL no nível da instância permitem que você crie e trabalhe programaticamente com objetos Audience Manager. Os métodos de nível de instância aprimoram a funcionalidade da API estabelecida pelos métodos de nível de classe.
Introdução aos Métodos de DIL em nível de instância get-started-dil-methods
Ao trabalhar com as APIs DIL no nível da instância:
- O Access exige um nome de parceiro e uma ID de namespace de contêiner (NSID). Entre em contato com o gerente de conta do Audience Manager para obter essas informações.
- Substitua qualquer texto de amostra em itálico na documentação da API por valor, ID ou outra variável, conforme exigido pelo método com o qual você está trabalhando.
sinais signals
Adiciona mapeamentos de nível de cliente e plataforma à sequência de consulta de uma solicitação pendente.
Assinatura da Função: signals: function ({key1:value1, key2:value2},prefix){}
- Você pode encadear outras chamadas de API a esse método.
- Se a biblioteca JavaScript do Adobe Experience Cloud estiver na página,
submit()
aguardará que a Nuvem defina um cookie antes de enviar uma solicitação.
Chaves de solicitação reservadas
As chaves de solicitação a seguir estão reservadas e não podem ser substituídas por este método:
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Parâmetros
obj
prefix
return
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
// Method 1
var obj = { key1 : 1, key2 : 2 };
dataLib.api.signals(obj, 'c_').submit();
// Method 2
dataLib.api.signals({c_zdid: 54321}).submit();
// Method 3
// Will send 'c_key=a&c_key=2&c_key=3' to Audience Manager
var obj = { key : ['a', 'b', 'c'] };
dataLib.api.signals(obj, 'c_').submit();
traits traits
Adiciona SIDs à sequência de consulta de uma solicitação pendente.
Assinatura da função: traits:function (sids){}
Parâmetros
sids
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
logs logs
Adicionar dados aos arquivos de log na solicitação pendente.
Assinatura da função: logs: function {key1:value1, key2:value2}
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
submit submit
Envia todos os dados pendentes para o Audience Manager da instância DIL.
Assinatura da Função: submit: function () {}
%20
e ponto e vírgula como %3B
.Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([
123,456, 789]).logs({
file: 'dil.js',
message: 'This is the first request'
}).signals({
c_zdid: 1111
d_dma: 'default'
}).submit();
afterResult afterresult
Uma função que é executada após o retorno de chamada de publicação de destino padrão.
Assinatura da Função: afterResult: function (fn) {}
Parâmetros
fn
Resposta
Retorna um objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.signals({
c_zdid: 54321
d_dma: 'default'
}).afterResult(function(json){
//Do something with the JSON data returned from the server.
}).submit();
clearData cleardata
Limpa todos os dados em uma solicitação pendente.
Assinatura da Função: clearData: function () {}
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123,456, 789]).logs({
file: 'dil.js'
message: 'This is the first request'
}).signals({
c_zdid: 1111
d_dma: 'default'
});
//Reset the pending data
dataLib.clearData();
customQueryParams customqueryparams
Adiciona parâmetros de consulta personalizados não definidos explicitamente pelo servidor de coleta de dados a uma solicitação pendente.
Assinatura da Função: customQueryParams: function (obj) {}
Chaves de solicitação reservadas
As chaves de solicitação a seguir estão reservadas e não podem ser substituídas por este método:
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
getContainerNSID getcontainernsid
Retorna o valor da NSID do contêiner da instância DIL. Útil para depuração e solução de problemas.
Assinatura da Função: dil.api.getContainerNSID: function () {}
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();
getEventLog geteventlog
Retorna dados do log de eventos classificados cronologicamente como uma matriz de cadeias de caracteres. Útil para depuração e solução de problemas.
Assinatura da Função: dil.api.getEventLog: function () {}
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).logs({
file: 'dil.js',
message: 'This is the first request'
});.signals({
c_zdid: 1111
d_dma: 'default'
});.submit();
//Check log for messages
var log = dataLib.api.getEventLog();
if (log && log.length) {
alert(log.join('\n'));
}else{
alert('No log messages');
}
getPartner getpartner
Retorna o nome do parceiro de uma instância DIL. Útil para depuração e solução de problemas.
Assinatura da Função: dil.api.getPartner: function () {}
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
//Verify the partner name
var partner = dataLib.api.getPartner();
getState getstate
Retorna o estado da instância DIL atual. Útil para depuração e solução de problemas.
Assinatura da Função: dil.api.getState: function () {}
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).logs({
file: 'dil.js',
message:'This is the first request'
});.signals({
c.zdid: 1111
d_dma: 'default'
});.submit();
var state = dataLib.api.getState();
/*Object outline of state
state = {
pendingRequest: {pending data for call to server},
otherRequestInfo:{
firingQueue: [],
fired: [],
firing: false,
errored: [],
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: (constants.isHTTPS ? 'https://' : 'https://fast.') + partner + '.demdex.net/dest3.html?d_nsid='
+ containerNSID + '#' + encodeURIComponent(document.location.href),
iframe: null,
iframeHasLoaded: false,
sendingMessages: false,
messages: [],
messageSendingInterval: constants.POST_MESSAGE_ENABLED ? 15: 100,
//Recommend 100ms for IE 6 & 7, 15ms for other browsers
jsonProcessed: []
}
}
*/
idSync idsync
Consiste em duas funções que permitem aos parceiros de dados trocar e sincronizar IDs de usuário entre eles e o Audience Manager.
Assinatura da Função:
Funciona com DIL versões 2.10 e 3.1 ou superior.
dil.Instance.api.idSync(initConfig)
Entre os diferentes parceiros de dados e o Audience Manager. Por exemplo, o parceiro x usaria essa opção para sincronizar uma ID de usuário com o parceiro y e enviá-la para o Audience Manager.
Importante: este método foi preterido. Use o método idSyncByURL
da instância do Adobe Experience Platform Identity Service.
dil.Instance.api.aamIdSync(initConfig)
Quando você já conhece a ID de usuário e deseja enviá-la para o Audience Manager.
Importante: este método foi preterido. Use o método idSyncByDataSource
da instância do Adobe Experience Platform Identity Service.
Elementos de idSync
idSync
pode consistir no seguinte:
dpid
dpuuid
minutesToLive
url
Macros
idSync
aceita as seguintes macros:
%TIMESTAMP%
: Gera um carimbo de data/hora (em milissegundos). Usado para eliminação de cache.%DID%
: Insere a ID do Audience Manager para o usuário.%HTTP_PROTO%
: Define o protocolo da página (http
ouhttps
).
Resposta
Ambas as funções retornam Successfully queued
se bem-sucedidas. Do contrário, elas retornam uma sequência de mensagem de erro.
Código de exemplo
dilInstance.api.idSync(initConfig)
// Fires url with macros replaced
dilInstance.api.idSync({
dpid: '23', // must be a string
url: '//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',
minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});
dilInstance.api.aamIdSync(initConfig)
// Fires 'https:/https:' + '//dpm.demdex.net/ibs:dpid=<dpid>&dpuuid=<dpuuid>'
dilInstance.api.aamIdSync({
dpid: '23', // must be a string
dpuuid: '98765', // must be a string
minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});
resultado result
Adiciona um retorno de chamada (que recebe JSON) à solicitação pendente.
Assinatura da Função: result: function (callback) {}
Esse retorno de chamada substitui o retorno de chamada padrão que lida com a publicação de destino.
Parâmetros
callback
Resposta
Retorna o objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).result(function(json){
//Do something, possibly with the JSON data returned from the server.
});.submit();
secureDataCollection securedatacollection
secureDataCollection
é um parâmetro booleano que controla como DIL faz chamadas para Data Collection Servers (DCS) e Akamai.
-
Quando
secureDataCollection= true
(padrão), DIL sempre faz chamadas HTTPS seguras. -
Quando
secureDataCollection= false
, DIL faz chamadas HTTP ou HTTPS seguindo o protocolo de segurança definido pela página.
secureDataCollection= false
se você usar visitorAPI.js e DIL na mesma página. Consulte a amostra de código abaixo.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly usecorsonly
useCORSOnly
é um parâmetro booliano true/false que controla como o navegador solicita recursos de outros domínios.
Visão geral
useCORSOnly
é falso por padrão. Falso significa que o navegador pode executar verificações de recursos com CORS ou JSONP. No entanto, DIL sempre tenta solicitar recursos com o CORS primeiro. Em seguida, reverte para JSONP em navegadores antigos sem suporte ao CORS. Se for necessário forçar o navegador para usar somente o CORS, como em sites com requisitos de alta segurança, defina useCORSOnly:true
.
Amostra de código
var dilInstance = DIL.create({
...
useCORSOnly: true
});
- Recomendamos que você defina o
useCORSOnly: true
somente quando tiver certeza de que os visitantes do site têm navegadores que oferecem suporte a esse recurso. - Quando
useCORSOnly: true
, DIL não fará chamadas de ID do Internet Explorer versão 9 ou posterior.
useImageRequest useimagerequest
Altera o tipo de solicitação para imagem <img>
do script <src>
.
Assinatura da Função: useImageRequest: function () {}
Resposta
Retorna um objeto de API da instância DIL atual.
Código de exemplo
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();