DIL-Methoden auf Instanzebene

Letzte Aktualisierung: 2023-08-02
WARNUNG

Ab Juli 2023 hat die Adobe die Entwicklung der Data Integration Library (DIL) und DIL -Erweiterung.

Bestehende Kunden können weiterhin ihre DIL Implementierung. Die Adobe wird sich jedoch nicht entwickeln DIL über diesen Punkt hinaus. Kunden wird empfohlen, Experience Platform Web SDK für ihre langfristige Datenerfassungsstrategie.

Kunden, die nach Juli 2023 neue Datenerfassungs-Integrationen implementieren möchten, sollten Experience Platform Web SDK anstatt.

Die Instanzebene DIL Mit APIs können Sie Audience Manager-Objekte programmgesteuert erstellen und verwenden. Die Methoden auf Instanzebene erweitern die API-Funktionalität, die von den Methoden auf Klassenebene festgelegt wird.

Erste Schritte mit DIL-Methoden auf Instanzebene

Beim Arbeiten mit Instanzenebene DIL APIs:

  • Für den Zugriff sind ein Partnername und eine Container-Namespace-ID (NSID) erforderlich. Wenden Sie sich an Ihren Kundenbetreuer, um diese Informationen zu erhalten.
  • Beispiel ersetzen kursiv Text in der API-Dokumentation mit -Wert, -ID oder einer anderen -Variablen, wie von der verwendeten -Methode benötigt.

Signale

Fügt der Abfragezeichenfolge einer ausstehenden Anforderung Zuordnungen auf Kunden- und Plattformebene hinzu.

Funktionssignatur: signals: function ({key1:value1, key2:value2},prefix){}

HINWEIS
  • Sie können andere API-Aufrufe an diese Methode ketten.
  • Wenn sich die Adobe Experience Cloud-JavaScript-Bibliothek auf der Seite befindet, submit() wartet, bis die Cloud ein Cookie setzt, bevor eine Anforderung gesendet wird.

Reservierte Anforderungsschlüssel

Die folgenden Anforderungsschlüssel sind reserviert und können von dieser Methode nicht überschrieben werden:

  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest

Parameter

Name Typ Beschreibung
obj Objekt Ein Objekt, das die Schlüssel-Wert-Paare für Zuordnungen auf Plattformebene darstellt. Parameter akzeptiert Zeichenfolgen und Arrays als Eigenschaftswerte im Objekt.
prefix Zeichenfolge Optional. Der string -Wert, der jedem Objektschlüssel vorangestellt ist (ersetzt den ursprünglichen Schlüssel).
return DIL.api Gibt das API-Objekt der aktuellen DIL-Instanz zurück.

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

Fügt der Abfragezeichenfolge einer ausstehenden Anfrage SIDs hinzu.

Funktionsunterschrift: traits:function (sids){}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Parameter

Name Typ Beschreibung
sids Array Eigenschaftensegment-IDs in einem Array.

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

logs

Fügen Sie Daten zu Protokolldateien in der ausstehenden Anfrage hinzu.

Funktionsunterschrift: logs: function {key1:value1, key2:value2}

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

submit

Sendet alle ausstehenden Daten an Audience Manager für DIL -Instanz.

Funktionssignatur: submit: function () {}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten. Außerdem DIL schreibt kodierte Daten in ein Ziel-Cookie. Leerzeichen werden beispielsweise als %20 und Semikolons als %3B.

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

Eine Funktion, die nach dem standardmäßigen Callback zur Zielveröffentlichung ausgeführt wird.

Funktionssignatur: afterResult: function (fn) {}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Parameter

Name Typ Beschreibung
fn Funktion Die Funktion, die Sie nach JSON ausführen möchten, wird vom standardmäßigen Callback verarbeitet, der die Zielveröffentlichung verarbeitet.

Antwort

Gibt ein API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

Löscht alle Daten in einer ausstehenden Anfrage.

Funktionssignatur: clearData: function () {}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

Fügt benutzerdefinierte Abfrageparameter, die nicht explizit vom Datenerfassungsserver definiert sind, zu einer ausstehenden Anfrage hinzu.

Funktionssignatur: customQueryParams: function (obj) {}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Reservierte Anforderungsschlüssel

Die folgenden Anforderungsschlüssel sind reserviert und können von dieser Methode nicht überschrieben werden:

  • sids
  • pdata
  • logdata
  • callback
  • postCallbackFn
  • useImageRequest

Antwort

Gibt das API-Objekt der aktuellen DIL-Instanz zurück.

Beispielcode


var partnerObject = DIL.create({
     partner: 'partner',
     containerNSID: NSID
});
partnerObject.api.customQueryParams({
     nid: 54231,
     ntype: 'default'
});

getContainerNSID

Gibt den Wert der Container-NSID für die DIL -Instanz. Nützlich für Debugging und Fehlerbehebung.

Funktionssignatur: dil.api.getContainerNSID: function () {}

Beispielcode


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

//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();

getEventLog

Gibt chronologisch sortierte Ereignisprotokolldaten als Zeichenfolgen-Array zurück. Nützlich für Debugging und Fehlerbehebung.

Funktionssignatur: dil.api.getEventLog: function () {}

Beispielcode


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

Gibt den Partnernamen für eine DIL -Instanz. Nützlich für Debugging und Fehlerbehebung.

Funktionssignatur: dil.api.getPartner: function () {}

Beispielcode


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

//Verify the partner name
var partner = dataLib.api.getPartner();

getState

Gibt den aktuellen Status aus DIL -Instanz. Nützlich für Debugging und Fehlerbehebung.

Funktionssignatur: dil.api.getState: function () {}

Beispielcode


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

Besteht aus zwei Funktionen, mit denen Datenpartner Benutzer-IDs untereinander und mit Audience Manager austauschen und synchronisieren können.

Funktionssignatur:

Funktioniert mit DIL Versionen 2.10 und 3.1 oder höher.

Code Synchronisiert Benutzer-IDs
dil.Instance.api.idSync(initConfig)

Zwischen verschiedenen Datenpartnern und Audience Managern. Beispielsweise würde Partner x dies verwenden, um eine Benutzer-ID mit Partner y zu synchronisieren und diese dann an Audience Manager zu senden.

Wichtig: Diese Methode wird nicht mehr unterstützt. Bitte verwenden Sie idSyncByURL -Methode der Adobe Experience Platform Identity Service-Instanz.

dil.Instance.api.aamIdSync(initConfig)

Wenn Sie die Benutzer-ID bereits kennen und sie an Audience Manager senden möchten.

Wichtig: Diese Methode wird nicht mehr unterstützt. Bitte verwenden Sie idSyncByDataSource -Methode der Adobe Experience Platform Identity Service-Instanz.

idSync-Elemente

idSync kann aus Folgendem bestehen:

Name Typ Beschreibung
dpid Zeichenfolge

Durch Audience Manager zugewiesene Datenanbieter-ID.

dpuuid Zeichenfolge

Die eindeutige Datenanbieter-ID für den Benutzer.

minutesToLive Nummer

(Optional) Legt die Cookie-Ablaufzeit fest. Hierbei muss es sich um eine Ganzzahl handeln. Der Standardwert lautet 20.160 Minuten (14 Tage).

url Zeichenfolge

Ziel-URL.

Makros

idSync akzeptiert die folgenden Makros:

  • %TIMESTAMP%: Generiert einen Zeitstempel (in Millisekunden). Wird für das Cache-Busting verwendet.
  • %DID%: Fügt die Audience Manager-ID für den Benutzer ein.
  • %HTTP_PROTO%: Legt das Seitenprotokoll fest ( http oder https).

Antwort

Beide Funktionen geben die Successfully queued wenn erfolgreich. Falls nicht, wird eine Fehlermeldungszeichenfolge zurückgegeben.

Beispielcode

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

result

Fügt der ausstehenden Anfrage einen Rückruf (der JSON erhält) hinzu.

Funktionssignatur: result: function (callback) {}

Dieser Rückruf ersetzt den standardmäßigen Rückruf, der die Zielveröffentlichung verarbeitet.

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Parameter

Name Typ Beschreibung
callback Funktion JavaScript-Funktion, die vom JSONP-Rückruf ausgeführt wird.

Antwort

Gibt das API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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 ist ein boolescher Parameter, der steuert, wie DIL ruft die Data Collection Servers (DCS) und Akamai.

  • Wann secureDataCollection= true (Standard), DIL führt immer sichere HTTPS-Aufrufe durch.

  • Wann secureDataCollection= false, DIL führt entweder HTTP- oder HTTPS-Aufrufe durch, indem das von der Seite festgelegte Sicherheitsprotokoll befolgt wird.

WICHTIG

Satz secureDataCollection= false wenn Sie visitorAPI.js verwenden und DIL auf derselben Seite. Siehe Code-Beispiel unten.


var dilInstance = DIL.create({
     ...
     secureDataCollection: false
});

useCORSOnly

useCORSOnly ist ein boolescher true/false -Parameter, der steuert, wie Browser Ressourcen von anderen Domänen anfordern.

Überblick

useCORSOnly ist standardmäßig false. False bedeutet, dass der Browser Ressourcenprüfungen mit CORS oder JSONP durchführen kann. Allerdings DIL versucht immer zuerst, Ressourcen mit CORS anzufordern. Bei älteren Browsern, die CORS nicht unterstützen, wird auf JSONP zurückgegriffen. Wenn Sie erzwingen müssen, dass der Browser nur CORS verwendet, z. B. bei Sites mit hohen Sicherheitsanforderungen, legen Sie useCORSOnly:true.

Code-Beispiel


var dilInstance = DIL.create({
     ...
     useCORSOnly: true
});
WICHTIG
  • Es wird empfohlen, useCORSOnly: true nur dann, wenn Sie sicher sind, dass Ihre Site-Besucher über Browser verfügen, die diese Funktion unterstützen.
  • Wann useCORSOnly: true, DIL führt keine ID-Aufrufe von Internet Explorer Version 9 oder älter durch.

useImageRequest

Ändert den Anfragetyp in Bild <img> aus Skript <src>.

Funktionssignatur: useImageRequest: function () {}

HINWEIS

Sie können andere API-Aufrufe an diese Methode ketten.

Antwort

Gibt ein API-Objekt der aktuellen DIL -Instanz.

Beispielcode


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

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

Auf dieser Seite