Metodi DIL a livello di istanza

Le API a livello di istanza DIL consentono di creare e utilizzare in modo programmatico oggetti di 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 lavori con le API a livello di istanza DIL:

  • L'accesso richiede un nome partner e un ID dello spazio dei nomi del contenitore (NSID). Per ottenere queste informazioni, contatta il tuo account manager di Audience Manager.
  • Sostituisci qualsiasi testo di esempio corsivo nella documentazione API con valore, ID o altra variabile, come richiesto dal metodo con cui stai lavorando.

segnali

Aggiunge mappature a livello di cliente e piattaforma alla stringa di query di una richiesta in sospeso.

Firma della funzione: signals: function ({key1:value1, key2:value2},prefix){}

NOTA
  • Puoi catena di altre chiamate API a questo metodo.
  • Se la libreria JavaScript di Adobe Experience Cloud è 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 oggetto (sostituisce la chiave originale).
return DIL.api Restituisce l'oggetto API dell'istanza di DIL corrente.

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

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

Aggiunge SID alla stringa di query di una richiesta in sospeso.

Firma della funzione: traits:function (sids){}

NOTA

Puoi catena di altre chiamate API a questo metodo.

Parametri

Nome Tipo Descrizione
sids Array ID del segmento di caratteristiche in un array.

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

Codice di esempio


var partnerObject = DIL.create({
     partner: 'partner name',
     containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);

logs

Aggiungi i dati ai file di registro nella richiesta in sospeso.

Firma della funzione: logs: function {key1:value1, key2:value2}

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

Codice di esempio


var partnerObject = DIL.create({
     partner: 'partner',
     containerNSID: NSID
});
partnerObject.api.logs({
     file: 'dil.js',
     message: 'This is the first request'
});

submit

Invia tutti i dati in sospeso all'Audience Manager per l'istanza DIL.

Firma della funzione: submit: function () {}

NOTA

Puoi catena di altre chiamate API a questo metodo. Inoltre, DIL scrive dati codificati in un cookie di destinazione. Ad esempio, gli spazi vengono codificati come %20 e i punti e virgola come %3B.

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

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

Funzione che viene eseguita dopo il callback di pubblicazione della destinazione predefinito.

Firma della funzione: afterResult: function (fn) {}

NOTA

Puoi catena di altre chiamate API a questo metodo.

Parametri

Nome Tipo Descrizione
fn Funzione La funzione da eseguire dopo l’elaborazione di JSON viene eseguita dal callback predefinito che gestisce la pubblicazione della destinazione.

Risposta

Restituisce un oggetto API dell'istanza corrente DIL.

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

Cancella tutti i dati in una richiesta in sospeso.

Firma della funzione: clearData: function () {}

NOTA

Puoi catena di altre chiamate API a questo metodo.

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

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

Aggiunge a una richiesta in sospeso parametri di query personalizzati non definiti in modo esplicito dal server di raccolta dati.

Firma della funzione: customQueryParams: function (obj) {}

NOTA

Puoi catena di 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 di 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'istanza DIL. Utile per il debug e la risoluzione dei problemi.

Firma della 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

Restituisce i dati del registro eventi ordinati cronologicamente come array di stringhe. Utile per il debug e la risoluzione dei problemi.

Firma della 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

Restituisce il nome del partner per un'istanza DIL. Utile per il debug e la risoluzione dei problemi.

Firma della 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

Restituisce lo stato dell'istanza corrente DIL. Utile per il debug e la risoluzione dei problemi.

Firma della 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

È costituito da due funzioni che consentono ai partner dati di scambiare e sincronizzare gli ID utente tra loro e gli Audienci Manager.

Firma della funzione:

Funziona con le versioni DIL 2.10 e 3.1 o successive.

Codice Sincronizza gli ID utente
dil.Instance.api.idSync(initConfig)

Tra partner dati diversi e Audience Manager. Ad esempio, il partner x lo utilizzerà per sincronizzare un ID utente con il partner y e inviarlo ad Audience Manager.

Importante: questo metodo è obsoleto. Utilizza il metodo idSyncByURL dell’istanza del servizio Adobe Experience Platform Identity.

dil.Instance.api.aamIdSync(initConfig)

Se conosci già l’ID utente e vuoi inviarlo ad Audience Manager.

Importante: questo metodo è obsoleto. Utilizza il metodo idSyncByDataSource dell’istanza del servizio Adobe Experience Platform Identity.

Elementi idSync

idSync possono essere costituiti 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 seguenti macro:

  • %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)
});

risultato

Aggiunge un callback (che riceve JSON) alla richiesta in sospeso.

Firma della funzione: result: function (callback) {}

Questo callback sostituisce il callback predefinito che gestisce la pubblicazione della destinazione.

NOTA

Puoi catena di altre chiamate API a questo metodo.

Parametri

Nome Tipo Descrizione
callback Funzione Funzione JavaScript eseguita dal callback JSONP.

Risposta

Restituisce l'oggetto API dell'istanza corrente DIL.

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 è un parametro booleano che controlla come DIL effettua chiamate a Data Collection Servers (DCS) e Akamai.

  • Quando secureDataCollection= true (predefinito), DIL effettua sempre chiamate HTTPS sicure.

  • Quando secureDataCollection= false, DIL effettua chiamate HTTP o HTTPS seguendo il protocollo di sicurezza impostato dalla pagina.

IMPORTANTE

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

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 verifiche sulle 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 devi forzare il solo utilizzo di CORS da parte del browser, ad esempio con siti che hanno requisiti di sicurezza elevati, imposta useCORSOnly:true.

Esempio di codice


var dilInstance = DIL.create({
     ...
     useCORSOnly: true
});
IMPORTANTE
  • È 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 precedenti.

useImageRequest

Modifica il tipo di richiesta in immagine <img> dallo script <src>.

Firma della funzione: useImageRequest: function () {}

NOTA

Puoi catena di altre chiamate API a questo metodo.

Risposta

Restituisce un oggetto API dell'istanza corrente DIL.

Codice di esempio


var dataLib = DIL.create({
     partner:'partnerName',
     containerNSID: containerNSID
});

dataLib.api.traits([123, 456, 789]).useImageRequest().submit();

In questa pagina