DIL-Methoden auf Instanzebene instance-level-dil-methods

WARNING
Ab Juli 2023 hat Adobe die Entwicklung des Data Integration Library (DIL) und der DIL eingestellt.
Bestehende Kundinnen und Kunden können ihre DIL Implementierung weiterhin nutzen. Allerdings wird sich Adobe nicht über diesen Punkt hinaus DIL entwickeln. Kunden wird empfohlen, Experience Platform Web SDK auf ihre langfristige Datenerfassungsstrategie hin zu überprüfen.
Kunden, die nach Juli 2023 neue Datenerfassungsintegrationen implementieren möchten, sollten stattdessen Experience Platform Web SDK verwenden.

Mit den DIL-APIs auf Instanzebene können Sie Audience Manager-Objekte programmgesteuert erstellen und mit ihnen arbeiten. Die Methoden auf Instanzebene verbessern die API-Funktionalität, die von den Methoden auf Klassenebene eingerichtet wird.

Erste Schritte mit DIL-Methoden auf Instanzebene get-started-dil-methods

Beim Arbeiten mit DIL-APIs auf Instanzebene:

  • Für den Zugriff sind ein Partnername und eine Container-Namespace-ID (NSID) erforderlich. Wenden Sie sich an Ihren Audience Manager Account Manager, um diese Informationen zu erhalten.
  • Ersetzen Sie einen (kursiv) Beispieltext in der API-Dokumentation durch den Wert, die ID oder eine andere Variable, wie von der Methode benötigt, mit der Sie arbeiten.

Signale signals

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

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

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

Reservierte Anforderungsschlüssel

Die folgenden Anfrageschlü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. Der Parameter akzeptiert Zeichenfolgen und Arrays als Eigenschaftswerte im -Objekt.
prefix
Zeichenfolge
Optional. Der Zeichenfolgenwert, der jedem Objektschlüssel vorangestellt ist (ersetzt den Originalschlüssel).
return
DIL.api
Gibt das API-Objekt der aktuellen DIL-Instanz zurück.

Antwort

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

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 traits

Fügt SIDs zur Abfragezeichenfolge einer ausstehenden Anfrage hinzu.

Funktionssignatur: traits:function (sids){}

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

Parameter

Name
Typ
Beschreibung
sids
Array
Trait-Segment-IDs in einem Array.

Antwort

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

Beispielcode


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

Protokolle logs

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

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

Antwort

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

Beispielcode


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

submit submit

Übermittelt alle ausstehenden Daten an den Audience Manager für die DIL.

Funktionssignatur: submit: function () {}

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

Antwort

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

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 afterresult

Eine Funktion, die nach dem Standardrückruf für die Zielveröffentlichung ausgeführt wird.

Funktionssignatur: afterResult: function (fn) {}

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

Parameter

Name
Typ
Beschreibung
fn
Funktion
Die Funktion, die nach der JSON-Veröffentlichung ausgeführt werden soll, wird durch den Standardrückruf verarbeitet, der die Zielveröffentlichung handhabt.

Antwort

Gibt ein API-Objekt der aktuellen DIL zurück.

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 cleardata

Löscht alle Daten in einer ausstehenden Anfrage.

Funktionssignatur: clearData: function () {}

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

Antwort

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

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 customqueryparams

Fügt einer ausstehenden Anfrage benutzerdefinierte Abfrageparameter hinzu, die vom Datenerfassungs-Server nicht explizit definiert sind.

Funktionssignatur: customQueryParams: function (obj) {}

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

Reservierte Anforderungsschlüssel

Die folgenden Anfrageschlü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 getcontainernsid

Gibt den Wert der Container-NSID für die DIL-Instanz zurück. 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 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 getpartner

Gibt den Partnernamen für eine DIL Instanz zurück. 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 getstate

Gibt den Status der aktuellen DIL zurück. 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 idsync

Besteht aus zwei Funktionen, mit denen Datenpartner Benutzer-IDs untereinander und mit dem 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 den Audience Manager zu senden.

Wichtig: Diese Methode ist veraltet. Verwenden Sie die idSyncByURL der Adobe Experience Platform Identity Service-Instanz.

dil.Instance.api.aamIdSync(initConfig)

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

Wichtig: Diese Methode ist veraltet. Verwenden Sie die idSyncByDataSource der Adobe Experience Platform Identity Service-Instanz.

idSync-Elemente

idSync kann Folgendes umfassen:

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%: Erstellt 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 bei Erfolg Successfully queued zurück. 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)
});

Ergebnis result

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

Funktionssignatur: result: function (callback) {}

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

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

Parameter

Name
Typ
Beschreibung
callback
Funktion
Vom JSONP-Callback ausgeführte JavaScript-Funktion.

Antwort

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

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

secureDataCollection ist ein boolescher Parameter, der steuert, wie DIL Aufrufe an die Data Collection Servers (DCS) und Akamai sendet.

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

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

IMPORTANT
Legen Sie secureDataCollection= false fest, wenn Sie visitorAPI.js und DIL auf derselben Seite verwenden. Siehe Code-Beispiel unten.

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

useCORSOnly usecorsonly

useCORSOnly ist ein boolescher „true/false“-Parameter, der steuert, wie der Browser Ressourcen von anderen Domains anfordert.

Überblick

useCORSOnly ist standardmäßig false. „False“ bedeutet, dass der Browser Ressourcenprüfungen mit CORS oder JSONP durchführen kann. DIL versucht jedoch immer zuerst, Ressourcen mit CORS anzufordern. Bei älteren Browsern, die CORS nicht unterstützen, wird auf JSONP zurückgegriffen. Wenn Sie den Browser zwingen müssen, nur CORS zu verwenden, wie etwa bei Sites mit hohen Sicherheitsanforderungen, legen Sie useCORSOnly:true fest.

Codebeispiel


var dilInstance = DIL.create({
     ...
     useCORSOnly: true
});
IMPORTANT
  • Es wird empfohlen, useCORSOnly: true nur dann festzulegen, wenn Sie sicher sind, dass Ihre Site-Besucher Browser haben, die diese Funktion unterstützen.
  • Wenn useCORSOnly: true, führt DIL keine ID-Aufrufe von Internet Explorer ab Version 9 durch.

useImageRequest useimagerequest

Ändert den Anfragetyp von Skript-<src> in <img>.

Funktionssignatur: useImageRequest: function () {}

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

Antwort

Gibt ein API-Objekt der aktuellen DIL zurück.

Beispielcode


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

dataLib.api.traits([123, 456, 789]).useImageRequest().submit();
recommendation-more-help
de293fbf-b489-49b0-8daa-51ed303af695