Méthodes DIL au niveau de l’instance instance-level-dil-methods
Les API DIL au niveau de l’instance vous permettent de créer et d’utiliser des objets Audience Manager par programmation. Les méthodes au niveau de l’instance améliorent la fonctionnalité d’API établie par les méthodes au niveau de la classe .
Prise en main des méthodes DIL au niveau de l’instance get-started-dil-methods
Lorsque vous utilisez les API DIL au niveau de l’instance :
- Access nécessite un nom de partenaire et un identifiant d'espace de noms de conteneur (NSID). Contactez votre gestionnaire de compte Audience Manager pour obtenir ces informations.
- Remplacez tout exemple de texte en italique dans la documentation de l’API par la valeur, l’ID ou une autre variable, selon les besoins de la méthode que vous utilisez.
signaux signals
Ajoute des mappages au niveau du client ou 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){}
- Vous pouvez chaîner d’autres appels API à cette méthode.
- Si la bibliothèque JavaScript Adobe Experience Cloud se trouve sur la page,
submit()
attend que le cloud définisse un cookie avant d’envoyer une requête.
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
obj
prefix
return
Réponse
Renvoie l’objet API de l’instance de DIL active.
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();
traits traits
Ajoute des SID à la chaîne de requête d’une requête en attente.
Signature de fonction : traits:function (sids){}
Paramètres
sids
Réponse
Renvoie l’objet API de l’instance de DIL active.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
logs logs
Ajoutez les 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 de l’instance de DIL active.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
submit submit
Envoie toutes les données en attente à Audience Manager pour l’instance DIL.
Signature de fonction : submit: function () {}
%20
et les points-virgules en %3B
.Réponse
Renvoie l’objet API de l’instance de DIL active.
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();
afterResult afterresult
Une fonction qui s’exécute après le rappel de publication de destination par défaut.
Signature de fonction : afterResult: function (fn) {}
Paramètres
fn
Réponse
Renvoie un objet API de l’instance de DIL active.
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();
clearData cleardata
Efface toutes les données d’une requête en attente.
Signature de fonction : clearData: function () {}
Réponse
Renvoie l’objet API de l’instance de DIL active.
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();
customQueryParams customqueryparams
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) {}
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 DIL active.
Exemple de code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
getContainerNSID getcontainernsid
Renvoie la valeur du conteneur NSID pour l’instance DIL. 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();
getEventLog geteventlog
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');
}
getPartner getpartner
Renvoie le nom du partenaire pour une instance DIL. 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();
getState getstate
Retourne l’état de l’instance DIL courante. 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: []
}
}
*/
idSync idsync
Se compose de deux fonctions qui permettent aux partenaires de données d’échanger et de synchroniser les ID utilisateur entre eux et Audience Manager.
Signature de fonction :
Fonctionne avec DIL versions 2.10 et 3.1 ou ultérieures.
dil.Instance.api.idSync(initConfig)
Entre différents partenaires de données et Audience Manager. Par exemple, le partenaire x l’utilisera pour synchroniser un identifiant utilisateur avec le partenaire y, puis l’enverra à Audience Manager.
Important : cette méthode est obsolète. Utilisez la méthode idSyncByURL
de l’instance Adobe Experience Platform Identity Service.
dil.Instance.api.aamIdSync(initConfig)
Lorsque vous connaissez déjà l’identifiant utilisateur et que vous souhaitez l’envoyer à Audience Manager.
Important : cette méthode est obsolète. Utilisez la méthode idSyncByDataSource
de l’instance Adobe Experience Platform Identity Service.
Éléments idSync
idSync
peut se composer des éléments suivants :
dpid
dpuuid
minutesToLive
url
Macros
idSync
accepte les macros suivantes :
%TIMESTAMP%
: génère une date et une heure (en millisecondes). Utilisé pour la mise en cache.%DID%
: permet d’insérer l’Audience Manager ID de l’utilisateur.%HTTP_PROTO%
: définit le protocole de page (http
ouhttps
).
Réponse
Les deux fonctions renvoient une 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)
});
résultat result
Ajoute un rappel (qui reçoit le code 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.
Paramètres
callback
Réponse
Renvoie l’objet API de l’instance de DIL active.
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 securedatacollection
secureDataCollection
est un paramètre booléen qui contrôle la manière dont DIL effectue des appels vers Data Collection Servers (DCS) et Akamai.
-
Lorsqu’il est
secureDataCollection= true
(par défaut), DIL effectue toujours des appels HTTPS sécurisés. -
Lorsqu’il est
secureDataCollection= false
, DIL effectue des appels HTTP ou HTTPS en suivant le protocole de sécurité défini par la page.
secureDataCollection= false
si vous utilisez visitorAPI.js et DIL sur la même page. Voir l’exemple de code ci-dessous.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly usecorsonly
useCORSOnly
paramètre booléen true/false qui contrôle la manière dont le navigateur demande des ressources à d’autres domaines.
Présentation
useCORSOnly
valeur par défaut est false. 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 sur les sites soumis à des exigences de sécurité élevées, définissez useCORSOnly:true
.
Exemple de code
var dilInstance = DIL.create({
...
useCORSOnly: true
});
- Nous vous recommandons de définir
useCORSOnly: true
uniquement lorsque vous êtes sûr que les visiteurs de votre site disposent de navigateurs qui prennent en charge cette fonctionnalité. - Lorsqu’il est
useCORSOnly: true
, DIL n’effectue pas d’appels d’ID depuis Internet Explorer version 9 ou antérieure.
useImageRequest useimagerequest
Modifie le type de requête en <img>
d’image à partir du <src>
de script.
Signature de fonction : useImageRequest: function () {}
Réponse
Renvoie un objet API de l’instance de DIL active.
Exemple de code
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();