A partire da luglio 2023, Adobe ha interrotto lo sviluppo del Data Integration Library (DIL) e DIL estensione.
I clienti esistenti possono continuare a utilizzare DIL implementazione. Tuttavia, Adobe non svilupperà DIL oltre questo punto. I clienti sono invitati a valutare Experienci Platform Web SDK per la strategia di raccolta dei dati a lungo termine.
I clienti che desiderano implementare nuove integrazioni di raccolta dati dopo luglio 2023 devono utilizzare Experienci Platform Web SDK invece.
A livello di istanza DIL Le API consentono di creare e lavorare in modo programmatico con oggetti Audienci Manager. I metodi a livello di istanza migliorano le funzionalità API stabilite dai metodi a livello di classe.
Quando si lavora con a livello di istanza DIL API:
Aggiunge mappature a livello di cliente e piattaforma alla stringa query di una richiesta in sospeso.
Firma funzione: signals: function ({key1:value1, key2:value2},prefix){}
submit()
attende che Cloud imposti un cookie prima di inviare una richiesta.Chiavi di richiesta riservate
Le seguenti chiavi di richiesta sono riservate e non possono essere sovrascritte da questo metodo:
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Parametri
Nome | Tipo | Descrizione |
---|---|---|
obj |
Oggetto | Oggetto che rappresenta le coppie chiave-valore per le mappature a livello di piattaforma. Il parametro accetta stringhe e matrici come valori di proprietà nell'oggetto. |
prefix |
Stringa | Facoltativo. Il valore stringa con il prefisso di ogni chiave oggetto (sostituisce la chiave originale). |
return |
DIL.api | Restituisce l’oggetto API dell’istanza DIL corrente. |
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
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();
Aggiunge SID alla stringa query di una richiesta in sospeso.
Firma funzione: traits:function (sids){}
Puoi concatenare altre chiamate API a questo metodo.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
sids |
Array | ID dei segmenti di caratteristiche in un array. |
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
Aggiungi dati ai file di registro nella richiesta in sospeso.
Firma funzione: logs: function {key1:value1, key2:value2}
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
Invia tutti i dati in sospeso all'Audience Manager per il DIL dell'istanza.
Firma funzione: submit: function () {}
Puoi concatenare altre chiamate API a questo metodo. Inoltre, DIL scrive i dati codificati in un cookie di destinazione. Ad esempio, gli spazi sono codificati come %20
e punti e virgola come %3B
.
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
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();
Funzione che viene eseguita dopo il callback di pubblicazione della destinazione predefinita.
Firma funzione: afterResult: function (fn) {}
Puoi concatenare altre chiamate API a questo metodo.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
fn |
Funzione | La funzione che desideri eseguire dopo che JSON è stato elaborato dal callback predefinito che gestisce la pubblicazione della destinazione. |
Risposta
Restituisce un oggetto API dell'oggetto corrente DIL dell'istanza.
Codice di esempio
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();
Cancella tutti i dati in una richiesta in sospeso.
Firma funzione: clearData: function () {}
Puoi concatenare altre chiamate API a questo metodo.
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
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();
Aggiunge parametri di query personalizzati non definiti in modo esplicito dal server di raccolta dati a una richiesta in sospeso.
Firma funzione: customQueryParams: function (obj) {}
Puoi concatenare altre chiamate API a questo metodo.
Chiavi di richiesta riservate
Le seguenti chiavi di richiesta sono riservate e non possono essere sovrascritte da 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'
});
Restituisce il valore del NSID contenitore per DIL dell'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
});
//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();
Restituisce i dati del registro eventi ordinati cronologicamente come matrice 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',
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');
}
Restituisce il nome del partner per un DIL dell'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
});
//Verify the partner name
var partner = dataLib.api.getPartner();
Restituisce lo stato dell'attuale DIL dell'istanza. 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',
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: []
}
}
*/
È costituito da due funzioni che consentono ai partner dati di scambiare e sincronizzare gli ID utente tra loro e con Audienci 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 e Audienci Manager diversi. Ad esempio, il partner x lo utilizzerebbe per sincronizzare un ID utente con il partner y e inviarlo all’Audience Manager.
Importante: Metodo obsoleto. Utilizza il |
dil.Instance.api.aamIdSync(initConfig) |
Quando conosci già l’ID utente e vuoi inviarlo ad Audienci Manager.
Importante: Metodo obsoleto. Utilizza il |
Elementi idSync
idSync
può essere costituito da:
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 della pagina ( http
o https
).Risposta
Entrambe le funzioni restituiscono Successfully queued
in caso di esito positivo. In caso di esito negativo, restituiscono la stringa di un messaggio di errore.
Codice di esempio
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)
});
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 della destinazione.
Puoi concatenare altre chiamate API a questo metodo.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
callback |
Funzione | Funzione JavaScript eseguita dal callback JSONP. |
Risposta
Restituisce l’oggetto API dell’attuale DIL dell'istanza.
Codice di esempio
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
è un parametro booleano che controlla come DIL effettua chiamate al Data Collection Servers (DCS) e Akamai.
Quando secureDataCollection= true
(impostazione predefinita), DIL effettua sempre chiamate HTTPS sicure.
Quando secureDataCollection= false
, DIL effettua chiamate HTTP o HTTPS seguendo il protocollo di sicurezza impostato dalla pagina.
Imposta secureDataCollection= false
se utilizzi visitorAPI.js e DIL sulla stessa pagina. Vedi l’esempio di codice seguente.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly
è un parametro booleano true/false che controlla in che modo il browser richiede le 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 tenta sempre di richiedere risorse prima con CORS. Se necessario, utilizza JSONP per i browser più datati che non supportano CORS. Se devi forzare il solo utilizzo di CORS, ad esempio con siti con requisiti di sicurezza elevati, imposta useCORSOnly:true
.
Esempio di codice
var dilInstance = DIL.create({
...
useCORSOnly: true
});
useCORSOnly: true
solo quando sei sicuro che i visitatori del tuo sito abbiano browser che supportano questa funzione.useCORSOnly: true
, DIL non effettua chiamate ID da Internet Explorer versione 9 o precedenti.Modifica il tipo di richiesta in immagine <img>
da script <src>
.
Firma funzione: useImageRequest: function () {}
Puoi concatenare altre chiamate API a questo metodo.
Risposta
Restituisce un oggetto API dell'oggetto corrente DIL dell'istanza.
Codice di esempio
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();