Metodi DIL a livello di istanza instance-level-dil-methods

WARNING
A partire da luglio 2023, Adobe ha interrotto lo sviluppo di Data Integration Library (DIL) e dell'estensione DIL.
I clienti esistenti possono continuare a utilizzare l'implementazione DIL. Tuttavia, Adobe non svilupperà DIL oltre questo punto. I clienti sono invitati a valutare Experience Platform Web SDK per la strategia di raccolta dati a lungo termine.
I clienti che desiderano implementare nuove integrazioni di raccolta dati dopo luglio 2023 devono utilizzare Experience Platform Web SDK.

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){}

NOTE
  • 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

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'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){}

NOTE
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'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 () {}

NOTE
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 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) {}

NOTE
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'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 () {}

NOTE
Puoi concatenare altre chiamate API a questo metodo.

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) {}

NOTE
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'
});

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.

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: 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:

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 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 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.

NOTE
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'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.

IMPORTANT
Imposta 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
});
IMPORTANT
  • È 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 () {}

NOTE
Puoi concatenare altre chiamate API a questo metodo.

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();
recommendation-more-help
de293fbf-b489-49b0-8daa-51ed303af695