Depuis juillet 2023, l’Adobe a cessé de développer la Data Integration Library (DIL) et la variable DIL extension .
Les clients existants peuvent continuer à utiliser leurs DIL implémentation. Cependant, l’Adobe ne se développera pas. DIL au-delà de ce point. Les clients sont encouragés à évaluer SDK Web Experience Platform pour leur stratégie de collecte de données à long terme.
Les clients qui souhaitent mettre en oeuvre de nouvelles intégrations de collecte de données après juillet 2023 doivent utiliser SDK Web Experience Platform au lieu de .
Au niveau de l’instance DIL Les API vous permettent de créer et d’utiliser des objets d’Audience Manager par programmation. Les méthodes au niveau de l’instance améliorent la fonctionnalité de l’API établie par les méthodes au niveau de la classe.
Lorsque vous utilisez l’instance DIL API :
Ajoute des mappages au niveau du client et de la plateforme à la chaîne de requête d’une requête en attente.
Signature de fonction : signals: function ({key1:value1, key2:value2},prefix){}
submit()
attend que le cloud définisse un cookie avant d’envoyer une demande.Clés de requête réservées
Les clés de requête suivantes sont réservées et ne peuvent pas être remplacées par cette méthode :
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Paramètres
Nom | Type | Description |
---|---|---|
obj |
Objet | Objet représentant les paires clé-valeur pour les mappages au niveau de la plateforme. Le paramètre accepte les chaînes et les tableaux en tant que valeurs de propriété dans l’objet . |
prefix |
Chaîne | Facultatif. La valeur string préfixée à chaque clé d’objet (remplace la clé d’origine). |
return |
DIL.api | Renvoie l’objet API de l’instance de DIL actuelle. |
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
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();
Ajoute des SID à la chaîne de requête d’une requête en attente.
Signature de fonction : traits:function (sids){}
Vous pouvez associer d’autres appels API à cette méthode.
Paramètres
Nom | Type | Description |
---|---|---|
sids |
Tableau | Identifiants de segment de caractéristiques dans un tableau. |
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
Ajoutez des données aux fichiers journaux dans la requête en attente.
Signature de fonction : logs: function {key1:value1, key2:value2}
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
Envoie toutes les données en attente à l’Audience Manager pour le DIL instance.
Signature de fonction : submit: function () {}
Vous pouvez associer d’autres appels API à cette méthode. En outre, DIL écrit des données codées dans un cookie de destination. Par exemple, les espaces sont codés comme %20
et points-virgules comme %3B
.
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
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();
Fonction qui s’exécute après le rappel de publication de destination par défaut.
Signature de fonction : afterResult: function (fn) {}
Vous pouvez associer d’autres appels API à cette méthode.
Paramètres
Nom | Type | Description |
---|---|---|
fn |
Fonction | La fonction que vous souhaitez exécuter après le traitement de JSON par le rappel par défaut qui traite la publication de destination. |
Réponse
Renvoie un objet API de l’objet actif DIL instance.
Exemple de code
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();
Efface toutes les données d’une requête en attente.
Signature de fonction : clearData: function () {}
Vous pouvez associer d’autres appels API à cette méthode.
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
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();
Ajoute des paramètres de requête personnalisés qui ne sont pas explicitement définis par le serveur de collecte de données à une requête en attente.
Signature de fonction : customQueryParams: function (obj) {}
Vous pouvez associer d’autres appels API à cette méthode.
Clés de requête réservées
Les clés de requête suivantes sont réservées et ne peuvent pas être remplacées par cette méthode :
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Réponse
Renvoie l’objet API de l’instance de DIL actuelle.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
Renvoie la valeur du conteneur NSID pour la variable DIL instance. Utile pour le débogage et le dépannage.
Signature de fonction : dil.api.getContainerNSID: function () {}
Exemple de code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();
Renvoie les données du journal des événements triées chronologiquement sous la forme d’un tableau de chaînes. Utile pour le débogage et le dépannage.
Signature de fonction : dil.api.getEventLog: function () {}
Exemple de code
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');
}
Renvoie le nom du partenaire pour un DIL instance. Utile pour le débogage et le dépannage.
Signature de fonction : dil.api.getPartner: function () {}
Exemple de code
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
//Verify the partner name
var partner = dataLib.api.getPartner();
Renvoie l’état du DIL instance. Utile pour le débogage et le dépannage.
Signature de fonction : dil.api.getState: function () {}
Exemple de code
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: []
}
}
*/
Comprend deux fonctions qui permettent aux partenaires de données d’échanger et de synchroniser les identifiants utilisateur entre eux et entre les Audiences Manager.
Signature de fonction :
fonctionne avec DIL versions 2.10 et 3.1 ou ultérieures.
Code | Synchronise les identifiants des utilisateurs |
---|---|
dil.Instance.api.idSync(initConfig) |
Entre différents partenaires de données et Audience Manager. Par exemple, le partenaire x l’utilise pour synchroniser un identifiant utilisateur avec le partenaire y, puis l’envoie à l’Audience Manager.
Important : Cette méthode est obsolète. Veuillez utiliser la variable |
dil.Instance.api.aamIdSync(initConfig) |
Lorsque vous connaissez déjà l’identifiant utilisateur et souhaitez l’envoyer à l’Audience Manager.
Important : Cette méthode est obsolète. Veuillez utiliser la variable |
Eléments idSync
idSync
peut se composer des éléments suivants :
Nom | Type | Description |
---|---|---|
dpid |
Chaîne | Identifiant de fournisseur de données attribué par Audience Manager. |
dpuuid |
Chaîne | L’ID unique du fournisseur de données pour l’utilisateur. |
minutesToLive |
Nombre | (Optionnel) Définit le délai d’expiration du cookie. Doit être un nombre entier. Sa valeur par défaut est de 20 160 minutes (14 jours). |
url |
Chaîne | URL de destination. |
Macros
idSync
accepte les macros suivantes :
%TIMESTAMP%
: Génère un horodatage (en millisecondes). Utilisé pour la mise en cache.%DID%
: Insère l’ID d’Audience Manager de l’utilisateur.%HTTP_PROTO%
: Définit le protocole de la page ( http
ou https
).Réponse
Les deux fonctions renvoient Successfully queued
en cas de réussite. Autrement, elles renvoient une chaîne contenant un message d’erreur.
Exemple de code
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)
});
Ajoute un rappel (qui reçoit JSON) à la requête en attente.
Signature de fonction : result: function (callback) {}
Ce rappel remplace le rappel par défaut qui gère la publication de destination.
Vous pouvez associer d’autres appels API à cette méthode.
Paramètres
Nom | Type | Description |
---|---|---|
callback |
Fonction | Fonction JavaScript exécutée par le rappel JSONP. |
Réponse
Renvoie l’objet API du DIL instance.
Exemple de code
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
est un paramètre booléen qui contrôle la manière dont DIL effectue des appels à la fonction Data Collection Servers (DCS) et Akamai.
When secureDataCollection= true
(par défaut), DIL effectue toujours des appels HTTPS sécurisés.
When secureDataCollection= false
, DIL effectue des appels HTTP ou HTTPS en suivant le protocole de sécurité défini par la page.
Définir secureDataCollection= false
si vous utilisez visitorAPI.js et DIL sur la même page. Consultez l’exemple de code ci-dessous.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly
est un paramètre booléen true/false qui contrôle la manière dont le navigateur demande des ressources à d’autres domaines.
Présentation
useCORSOnly
est définie sur false par défaut. False signifie que le navigateur peut effectuer des vérifications de ressources avec CORS ou JSONP. Cependant, DIL essaie toujours de demander des ressources avec CORS en premier. Il revient à JSONP sur les navigateurs plus anciens qui ne prennent pas en charge CORS. Si vous devez forcer le navigateur à utiliser uniquement la norme CORS, par exemple pour les sites qui ont des exigences de sécurité élevées, définissez useCORSOnly:true
.
Exemple de code
var dilInstance = DIL.create({
...
useCORSOnly: true
});
useCORSOnly: true
uniquement lorsque vous êtes certain que les visiteurs de votre site disposent de navigateurs prenant en charge cette fonctionnalité.useCORSOnly: true
, DIL n’effectuera pas d’appels d’ID à partir d’Internet Explorer version 9 ou antérieure.Modifie le type de demande en image. <img>
à partir du script <src>
.
Signature de fonction : useImageRequest: function () {}
Vous pouvez associer d’autres appels API à cette méthode.
Réponse
Renvoie un objet API de l’objet actif DIL instance.
Exemple de code
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();