Show Menu
THEMEN×

DIL-Methoden auf Instanzebene

Mit den DIL APIs auf Instanzebene können Sie Audience Manager-Objekte programmgesteuert erstellen und verwenden. 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 DIL APIs auf Instanzebene:
  • Für den Zugriff sind ein Partnername und eine Container-Namensraum-ID (NSID) erforderlich. Wenden Sie sich an Ihren Audience Manager-Kundenbetreuer, um diese Informationen zu erhalten.
  • Ersetzen Sie den kursiv formatierten Beispieltext 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){}
  • Sie können andere API-Aufrufe mit dieser Methode verketten.
  • Wenn sich die Adobe Experience Cloud-JavaScript-Bibliothek auf der Seite befindet, submit() wartet 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){}
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 DIL Instanz.
Funktionssignatur: submit: function () {}
Sie können andere API-Aufrufe mit dieser Methode verketten. Schreibt auch kodierte Daten in ein Ziel-Cookie. DIL 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) {}
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 () {}
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) {}
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 Namen des Partners 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 DIL Versionen 2.10 und 3.1 oder höher.
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 ist veraltet. 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 ist veraltet. 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 werden Successfully queued bei erfolgreichem Abschluss zurückgegeben. 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.
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 die Data Collection Servers (DCS) und Akamai gesendet werden.
  • Wenn secureDataCollection= true (Standard), erfolgt DIL immer ein sicherer HTTPS-Aufruf.
  • Wenn secureDataCollection= false erfolgt DIL entweder HTTP- oder HTTPS-Aufrufe gemäß dem von der Seite festgelegten Sicherheitsprotokoll.
Wird eingestellt, secureDataCollection= false 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.
Übersicht
useCORSOnly ist standardmäßig false. False bedeutet, dass der Browser Ressourcenprüfungen mit CORS oder JSONP durchführen kann. Es wird jedoch DIL immer versucht, zunächst 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, z. B. bei Sites mit hohen Sicherheitsanforderungen, setzen Sie useCORSOnly:true .
Codebeispiel
var dilInstance = DIL.create({ 
     ... 
     useCORSOnly: true 
});


  • Es wird empfohlen, diese Einstellung useCORSOnly: true nur dann vorzunehmen, wenn Sie sicher sind, dass Ihre Site-Besucher Browser haben, die diese Funktion unterstützen.
  • Ab useCORSOnly: true diesem Zeitpunkt werden DIL keine ID-Aufrufe von Internet Explorer Version 9 oder älter durchgeführt.

useImageRequest

Ändert den Anforderungstyp in Bild <img> aus Skript <src> .
Funktionssignatur: useImageRequest: function () {}
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();