DIL-Methoden auf Instanzebene

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

Erste Schritte mit DIL-Methoden auf Instanzebene

Beim Arbeiten mit den APIs auf Instanzebene DIL:

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

signale

Fügt der Zeichenfolge einer ausstehenden Anforderung eine Zuordnung auf Kunden- und Plattformebene hinzu.

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

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

Reservierte Anforderungsschlüssel

Die folgenden Anforderungsschlüssel sind reserviert und können mit 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 Zeichenfolgenwert, der jedem Objektschlüssel als Präfix vorangestellt wird (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-Instanz 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

Fügt der Abfrage-Zeichenfolge einer ausstehenden Anforderung SIDs hinzu.

Funktionsunterschrift: traits:function (sids){}

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

Parameter

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

Antwort

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

Beispielcode


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

logs

hinzufügen Daten, um Dateien in der ausstehenden Anforderung zu protokollieren.

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

Antwort

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

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 die Instanz DIL.

Funktionssignatur: submit: function () {}

HINWEIS

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

Antwort

Gibt das API-Objekt der aktuellen DIL-Instanz 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

Eine Funktion, die nach dem Rückruf beim Veröffentlichen des Standardziels ausgeführt wird.

Funktionssignatur: afterResult: function (fn) {}

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

Parameter

Name Typ Beschreibung
fn Funktion Die Funktion, die nach der Verarbeitung von JSON ausgeführt werden soll, wird durch den standardmäßigen Rückruf verarbeitet, der die Zielveröffentlichung verarbeitet.

Antwort

Gibt ein API-Objekt der aktuellen DIL-Instanz 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

Löscht alle Daten in einer ausstehenden Anforderung.

Funktionssignatur: clearData: function () {}

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

Antwort

Gibt das API-Objekt der aktuellen DIL-Instanz 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

Fügt einer ausstehenden Anforderung benutzerdefinierte Abfragen hinzu, die nicht explizit vom Datenerfassungsserver definiert wurden.

Funktionssignatur: customQueryParams: function (obj) {}

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

Reservierte Anforderungsschlüssel

Die folgenden Anforderungsschlüssel sind reserviert und können mit 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 NSID des Containers 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

Gibt chronologisch sortierte Ereignis-Protokolldaten 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 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

Gibt den Status der aktuellen DIL-Instanz 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

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

Funktionssignatur:

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

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

Zwischen verschiedenen Datenpartnern und Audience Manager. Partner x würde dies beispielsweise 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 die 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 die idSyncByDataSource -Methode 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%: 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 bei erfolgreichem Abschluss 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)  
});

result

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

Funktionssignatur: result: function (callback) {}

Dieser Rückruf ersetzt den Standard-Rückruf, der die Zielveröffentlichung behandelt.

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

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 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 ist ein boolescher Parameter, der steuert, wie DIL Aufrufe an Akamai Data Collection Servers (DCS) und Akamai ausgeführt werden.

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

  • Wenn secureDataCollection= false DIL HTTP- oder HTTPS-Aufrufe nach dem von der Seite festgelegten Sicherheitsprotokoll durchführt.

WICHTIG

Legen Sie secureDataCollection= false fest, wenn Sie visitorAPI.js und DIL auf derselben Seite verwenden. Siehe Codebeispiel unten.


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

useCORSOnly

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

Überblick

useCORSOnly ist standardmäßig false. False bedeutet, dass der Browser Ressourcenprüfungen mit CORS oder JSONP durchführen kann. [!UICONTROL DIL] versucht jedoch immer, Ressourcen zuerst 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, z. B. bei Sites mit hohen Sicherheitsanforderungen, setzen Sie useCORSOnly:true.

Code-Beispiel


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

useImageRequest

Ändert den Anforderungstyp in image <img> von script <src>.

Funktionssignatur: useImageRequest: function () {}

HINWEIS

Sie können andere API-Aufrufe mit dieser Methode verketten.

Antwort

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

Beispielcode


var dataLib = DIL.create({ 
     partner:'partnerName', 
     containerNSID: containerNSID 
}); 
 
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now