Show Menu
ARGOMENTI×

Metodi DIL a livello di istanza

Le DIL API a livello di istanza consentono di creare e utilizzare in modo programmatico oggetti Audience Manager. I metodi a livello di istanza migliorano la funzionalità API stabilita dai metodi a livello di classe.

Guida introduttiva ai metodi DIL a livello di istanza

Quando si utilizzano le DIL API a livello di istanza:
  • L'accesso richiede un nome partner e un ID spazio nomi contenitore (NSID). Contatta il tuo account manager Audience Manager per ottenere queste informazioni.
  • Sostituite eventuale testo in corsivo di esempio nella documentazione API con valore, ID o altra variabile, come richiesto dal metodo con cui state lavorando.

signal

Aggiunge mappature a livello di cliente e piattaforma alla stringa di query di una richiesta in sospeso.
**** Firma funzione: signals: function ({key1:value1, key2:value2},prefix){}
  • Potete catena altre chiamate API a questo metodo.
  • Se la libreria JavaScript di Adobe Experience Cloud si trova sulla pagina, submit() attende che il Cloud imposti un cookie prima di inviare una richiesta.
Chiavi richieste riservate
Le seguenti chiavi di richiesta sono riservate e non possono essere sovrascritte con questo metodo:
  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest
Parametri
Nome
Tipo
Descrizione
obj
Oggetto
Un oggetto che rappresenta le coppie chiave-valore per le mappature a livello di piattaforma. Il parametro accetta stringhe e array come valori di proprietà nell'oggetto.
prefix
Stringa
Facoltativo. Il valore stringa con il prefisso di ogni chiave di oggetto (sostituisce la chiave originale).
return
DIL.api
Restituisce l'oggetto API dell'istanza DIL corrente.
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

' containerNSID: 

containerNSID

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


traits

Aggiunge i SID alla stringa di query di una richiesta in sospeso.
**** Firma funzione: traits:function (sids){}
Potete catena altre chiamate API a questo metodo.
Parametri
Nome
Tipo
Descrizione
sids
Array
ID segmento caratteristica in un array.
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var partnerObject = DIL.create({ partner: '

partner name

', containerNSID: 

NSID

 }); 
partnerObject.api.traits(

[123, 456, 789]

); 


logs

Aggiungere dati ai file di registro nella richiesta in sospeso.
**** Firma funzione: logs: function {key1:value1, key2:value2}
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var partnerObject = DIL.create({ partner: '

partner

', containerNSID: 

NSID

 }); 
partnerObject.api.logs({ file: 'dil.js', messaggio: 'Questa è la prima richiesta' });


submit

Invia tutti i dati in sospeso ad Audience Manager per l’ DIL istanza.
**** Firma funzione: submit: function () {}
Potete catena altre chiamate API a questo metodo. Inoltre, DIL scrive dati codificati in un cookie di destinazione. Ad esempio, gli spazi sono codificati come %20 e punto e virgola come %3B .
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123,456, 789

]).logs({ file: 'dil.js', messaggio: 'Questa è la prima richiesta' }).signal({ c_zdid: 

1111

 d_dma: '

default

' }).submit();


afterResult

Funzione che viene eseguita dopo il callback di pubblicazione di destinazione predefinito.
**** Firma funzione: afterResult: function (fn) {}
Potete catena altre chiamate API a questo metodo.
Parametri
Nome
Tipo
Descrizione
fn
Funzione
La funzione che si desidera eseguire dopo JSON viene elaborata dal callback predefinito che gestisce la pubblicazione delle destinazioni.
Risposta
Restituisce un oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

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

54321

 d_dma: '

default

' }).afterResult(function(json){ //Eseguire qualcosa con i dati JSON restituiti dal server. 
}).submit();


clearData

Cancella tutti i dati in una richiesta in sospeso.
**** Firma funzione: clearData: function () {}
Potete catena altre chiamate API a questo metodo.
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123,456, 789

]).logs({ file: Messaggio 'dil.js': 'Questa è la prima richiesta' }).signal({ c_zdid: 

1111

 d_dma: '

default

' }); 
 
//Reimposta i dati in sospeso dataLib.clearData();


customQueryParams

Aggiunge a una richiesta in sospeso parametri di query personalizzati non definiti in modo esplicito dal server di raccolta dati.
**** Firma funzione: customQueryParams: function (obj) {}
Potete catena altre chiamate API a questo metodo.
Chiavi richieste riservate
Le seguenti chiavi di richiesta sono riservate e non possono essere sovrascritte con questo metodo:
  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
Codice di esempio
var partnerObject = DIL.create({ partner: '

partner

', containerNSID: 

NSID

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


getContainerNSID

Restituisce il valore del NSID contenitore per l' DIL istanza. Utile per il debug e la risoluzione dei problemi.
**** Firma funzione: dil.api.getContainerNSID: function () {}
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
//Verificare il contenitore NSID var nsid = dataLib.api.getContainerNSID();


getEventLog

Restituisce i dati del registro eventi ordinati cronologicamente come un array di stringhe. Utile per il debug e la risoluzione dei problemi.
**** Firma funzione: dil.api.getEventLog: function () {}
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).logs({ file: 'dil.js', messaggio: 'Questa è la prima richiesta' });.signal({ c_zdid: 

1111

 d_dma: '

default

' });.submit(); 
 
//Controllare il registro dei messaggi var log = dataLib.api.getEventLog(); 
if (log && log.length) { alert(log.join('\n'); 
} else{ alert('No log messages'); 
}

getPartner

Restituisce il nome del partner per un' DIL istanza. Utile per il debug e la risoluzione dei problemi.
**** Firma funzione: dil.api.getPartner: function () {}
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

' containerNSID: 

containerNSID

 }); 
 
//Verifica il nome del partner var partner = dataLib.api.getPartner();


getState

Restituisce lo stato dell' DIL istanza corrente. Utile per il debug e la risoluzione dei problemi.
**** Firma funzione: dil.api.getState: function () {}
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).logs({ file: 'dil.js', messaggio:'Questa è la prima richiesta' });.signal({ c.zdid: 

1111

 d_dma: '

default

' });.submit(); 
 
var state = dataLib.api.getState(); 
 
/*Struttura dell'oggetto dello stato = { pendingRequest: {dati

in sospeso per la chiamata al server

}, otherRequestInfo:{ firingQueue: [], attivato: [], attivazione: false, errate: [], restrictedKeys: { sids: true, pdata: true, logdata: true, callback: true, postCallbackFn: true, useImageRequest: true, }, firstRequestHasField: 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: (costanti.isHTTPS ? "https://': 'https://fast.') + partner + '.demdex.net/dest3.html?d_nsid=' + containerNSID + '#' + encodeURIComponent(document.location.href), iframe: null, iframeHasLoaded: false, sendMessages: false, messages: [], messageSendingInterval: costanti.POST_MESSAGE_ENABLED ? 15. 100, //Consiglia 100 ms per IE 6 e 7, 15 ms per altri browser jsonElaborato: [] } } */

idSync

È composta da due funzioni che consentono ai partner di dati di scambiare e sincronizzare gli ID utente tra loro e Audience Manager.
Firma funzione:
Funziona con DIL versioni 2.10 e 3.1 o successive.
Codice Sincronizza gli ID utente
dil.Instance.api.idSync(initConfig)
Tra partner di dati diversi e Audience Manager. Ad esempio, il partner x lo utilizza per sincronizzare un ID utente con il partner y e quindi inviarlo ad Audience Manager.
Importante: Questo metodo è obsoleto. Utilizza il metodo idSyncByURL dell’istanza del servizio Experience Cloud ID.
dil.Instance.api.aamIdSync(initConfig)
Quando conosci già l’ID utente e vuoi inviarlo ad Audience Manager.
Importante: Questo metodo è obsoleto. Utilizza il metodo idSyncByDataSource dell’istanza del servizio Experience Cloud ID.
idSync Elements
idSync può essere costituito dai seguenti elementi:
Nome Tipo Descrizione
dpid Stringa
ID del fornitore dei dati assegnato da Audience Manager.
dpuuid Stringa
ID univoco del fornitore di dati per l'utente.
minutesToLive Numero
(Facoltativo) Imposta la data di scadenza del cookie. Deve essere un numero intero. Impostazione predefinita: 20160 minuti (14 giorni).
url Stringa
URL di destinazione.
Macro
idSync accetta le macro seguenti:
  • %TIMESTAMP% : genera una marca temporale (in millisecondi). Utilizzato per svuotare la cache.
  • %DID% : inserisce l'ID di Audience Manager per l'utente.
  • %HTTP_PROTO% : Imposta il protocollo di pagina ( http o https ).
Risposta
In Successfully queued caso di esito positivo, entrambe le funzioni restituiscono. In caso di esito negativo, restituiscono la stringa di un messaggio di errore.
Codice di esempio
dilInstance.api.idSync(initConfig)
// Attiva l'URL con le macro sostituite dilInstance.api.idSync({ dpid: '23', // deve essere un URL di stringa: '//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', minuti: 20160 // facoltativo; impostazione predefinita: 20160 minuti (14 giorni) });


dilInstance.api.aamIdSync(initConfig)
// Attiva 'https:/https:' + '//dpm.demdex.net/ibs:dpid=<dpid>&dpuuid=<dpuuid>' dilInstance.api.aamIdSync({ dpid: '23', // deve essere una stringa dpuuid: '98765', // deve essere una stringa minutesToLive: 20160 // facoltativo; impostazione predefinita: 20160 minuti (14 giorni) });


result

Aggiunge un callback (che riceve JSON) alla richiesta in sospeso.
**** Firma funzione: result: function (callback) {}
Questo callback sostituisce il callback predefinito che gestisce la pubblicazione delle destinazioni.
Potete catena altre chiamate API a questo metodo.
Parametri
Nome
Tipo
Descrizione
callback
Funzione
Funzione JavaScript eseguita dal callback JSONP.
Risposta
Restituisce l'oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner: '

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).result(function(json){ //Fare qualcosa, eventualmente con i dati JSON restituiti dal server. 
});.submit();


secureDataCollection

secureDataCollection è un parametro booleano che controlla il modo in cui DIL effettua le chiamate a Data Collection Servers (DCS) e Akamai.
  • Quando secureDataCollection= true (impostazione predefinita), effettua DIL sempre chiamate HTTPS sicure.
  • Quando secureDataCollection= false , DIL effettua chiamate HTTP o HTTPS seguendo il protocollo di sicurezza impostato dalla pagina.
Impostato secureDataCollection= false se utilizzi visitorAPI.js e DIL sulla stessa pagina. Vedi l’esempio di codice riportato di seguito.
var dilInstance = DIL.create({ ... 
     secureDataCollection: false });


useCORSOnly

useCORSOnly è un parametro booleano true/false che controlla come il browser richiede risorse da altri domini.
Panoramica
useCORSOnly è false per impostazione predefinita. False indica che il browser può eseguire controlli delle risorse con CORS o JSONP. Tuttavia, DIL cerca sempre di richiedere risorse prima con CORS. Se necessario, utilizza JSONP per i browser più datati che non supportano CORS. Se dovete obbligare il browser a utilizzare solo CORS, ad esempio con siti che hanno requisiti di sicurezza elevati, impostate useCORSOnly:true .
Esempio di codice
var dilInstance = DIL.create({ ... 
     useCORSOnly: true });


  • È consigliabile impostare useCORSOnly: true solo quando si è certi che i visitatori del sito dispongono di browser che supportano questa funzione.
  • Quando useCORSOnly: true , DIL non effettua chiamate ID da Internet Explorer versione 9 o versioni precedenti.

useImageRequest

Cambia il tipo di richiesta in immagine <img> da script <src> .
**** Firma funzione: useImageRequest: function () {}
Potete catena altre chiamate API a questo metodo.
Risposta
Restituisce un oggetto API dell' DIL istanza corrente.
Codice di esempio
var dataLib = DIL.create({ partner:'

partnerName

', containerNSID: 

containerNSID

 }); 
 
dataLib.api.traits([

123, 456, 789

]).useImageRequest().submit();