DIL-Methoden auf Instanzebene instance-level-dil-methods
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){}
- 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
obj
prefix
return
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){}
Parameter
sids
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 () {}
%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) {}
Parameter
fn
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 () {}
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) {}
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.
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:
dpid
dpuuid
minutesToLive
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
oderhttps
).
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.
Parameter
callback
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.
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
});
- 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 () {}
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();