Metodi DIL a livello di istanza instance-level-dil-methods
Le API DIL a livello di istanza consentono la creazione e l'utilizzo di oggetti Audience Manager a livello di programmazione. I metodi a livello di istanza migliorano le funzionalità API stabilite dai metodi a livello di classe.
Guida introduttiva ai metodi DIL a livello di istanza get-started-dil-methods
Quando si utilizzano le API DIL a livello di istanza:
- L'accesso richiede un nome partner e un ID spazio dei nomi contenitore (NSID). Per ottenere queste informazioni, contatta il tuo account manager di Audience Manager.
- Sostituisci il testo in corsivo di esempio nella documentazione dell'API con valore, ID o altra variabile come richiesto dal metodo con cui stai lavorando.
Segnali signals
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){}
- Puoi concatenare altre chiamate API a questo metodo.
- Se la libreria JavaScript di Adobe Experience Cloud si trova nella pagina,
submit()
attende che il 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
obj
prefix
return
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
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();
traits traits
Aggiunge SID alla stringa query di una richiesta in sospeso.
Firma funzione: traits:function (sids){}
Parametri
sids
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
Codice di esempio
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
registri logs
Aggiungi dati ai file di registro nella richiesta in sospeso.
Firma funzione: logs: function {key1:value1, key2:value2}
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
Codice di esempio
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
invia submit
Invia tutti i dati in sospeso all'Audience Manager per l'istanza DIL.
Firma funzione: submit: function () {}
%20
e i punti e virgola come %3B
.Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
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();
afterResult afterresult
Funzione che viene eseguita dopo il callback di pubblicazione della destinazione predefinita.
Firma funzione: afterResult: function (fn) {}
Parametri
fn
Risposta
Restituisce un oggetto API dell'istanza DIL corrente.
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();
clearData cleardata
Cancella tutti i dati in una richiesta in sospeso.
Firma funzione: clearData: function () {}
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
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();
customQueryParams customqueryparams
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) {}
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'
});
getContainerNSID getcontainernsid
Restituisce il valore del NSID contenitore per l'istanza DIL. 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();
getEventLog geteventlog
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');
}
getPartner getpartner
Restituisce il nome del partner per un'istanza DIL. 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();
getState getstate
Restituisce lo stato dell'istanza DIL 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',
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
È costituito da due funzioni che consentono ai partner dati di scambiare e sincronizzare gli ID utente tra loro e con Audience Manager.
Firma funzione:
Funziona con DIL versioni 2.10 e 3.1 o successive.
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: Questo metodo è obsoleto. Utilizzare il metodo idSyncByURL
dell'istanza del servizio Adobe Experience Platform Identity.
dil.Instance.api.aamIdSync(initConfig)
Quando conosci già l’ID utente e vuoi inviarlo ad Audience Manager.
Importante: Questo metodo è obsoleto. Utilizzare il metodo idSyncByDataSource
dell'istanza del servizio Adobe Experience Platform Identity.
elementi idSync
idSync
può essere costituito da:
dpid
dpuuid
minutesToLive
url
Macro
idSync
accetta le seguenti macro:
%TIMESTAMP%
: genera una marca temporale (in millisecondi). Utilizzato per svuotare la cache.%DID%
: inserisce l'ID Audience Manager per l'utente.%HTTP_PROTO%
: Imposta il protocollo della pagina (http
ohttps
).
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)
});
risultato 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 della destinazione.
Parametri
callback
Risposta
Restituisce l'oggetto API dell'istanza DIL corrente.
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 securedatacollection
secureDataCollection
è un parametro booleano che controlla come DIL effettua chiamate a 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.
secureDataCollection= false
se usi visitorAPI.js e DIL sulla stessa pagina. Vedi l’esempio di codice seguente.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly usecorsonly
useCORSOnly
è un parametro booleano true/false che controlla il modo in cui 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 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
});
- È consigliabile impostare
useCORSOnly: true
solo quando si è certi che i visitatori del sito dispongono di browser che supportano questa funzionalità. - Quando
useCORSOnly: true
, DIL non effettuerà chiamate ID da Internet Explorer versione 9 o precedenti.
useImageRequest useimagerequest
Modifica il tipo di richiesta in immagine <img>
dallo script <src>
.
Firma funzione: useImageRequest: function () {}
Risposta
Restituisce un oggetto API dell'istanza DIL corrente.
Codice di esempio
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();