인스턴스 수준 DIL API를 사용하면 프로그래밍 방식으로 Audience Manager 개체를 만들고 사용하여 작업할 수 있습니다. 인스턴스 수준 메서드는 클래스 수준 메서드로 설정된 API 기능을 개선합니다.
인스턴스 수준 DIL API로 작업하는 경우:
보류 중인 요청의 쿼리 문자열에 고객 및 플랫폼 수준 매핑을 추가합니다.
함수 서명: signals: function ({key1:value1, key2:value2},prefix){}
submit()
클라우드가 요청을 보내기 전에 쿠키를 설정할 때까지 기다립니다.예약된 요청 키
다음 요청 키는 예약되어 있으므로 이 방법으로 덮어쓸 수 없습니다.
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
매개 변수
이름 | 유형 | 설명 |
---|---|---|
obj |
개체 | 플랫폼 수준 매핑의 키-값 쌍을 나타내는 개체입니다. 매개 변수는 객체와 배열을 개체의 속성 값으로 허용합니다. |
prefix |
문자열 | 선택 사항입니다. 각 개체 키 앞에 있는 문자열 값(원래 키 대체). |
return |
DIL.api | 현재 DIL 인스턴스의 API 개체를 반환합니다. |
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
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();
보류 중인 요청의 쿼리 문자열에 SID를 추가합니다.
함수 서명: traits:function (sids){}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
매개 변수
이름 | 유형 | 설명 |
---|---|---|
sids |
배열 | 배열에서 트레이트 세그먼트 ID. |
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
대기 중인 요청에서 로그 파일에 데이터를 추가합니다.
함수 서명: logs: function {key1:value1, key2:value2}
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
DIL 인스턴스에 대해 보류 중인 모든 데이터를 Audience Manager에 제출합니다.
함수 서명: submit: function () {}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다. 또한 DIL은(는) 인코딩된 데이터를 대상 쿠키에 씁니다. 예를 들어 공백은 %20
으로 인코딩되고 세미콜론은 %3B
로 인코딩됩니다.
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
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: function (fn) {}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
매개 변수
이름 | 유형 | 설명 |
---|---|---|
fn |
함수로 플러그인 호출 | JSON이 처리된 후에 실행하려는 함수는 대상 게시를 처리하는 기본 콜백으로 처리됩니다. |
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
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: function () {}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
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: function (obj) {}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
예약된 요청 키
다음 요청 키는 예약되어 있으므로 이 방법으로 덮어쓸 수 없습니다.
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
DIL 인스턴스에 대한 컨테이너 NSID의 값을 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getContainerNSID: function () {}
샘플 코드
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();
시간순으로 정렬된 이벤트 로그 데이터를 문자열 배열로 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getEventLog: function () {}
샘플 코드
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');
}
DIL 인스턴스의 파트너 이름을 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getPartner: function () {}
샘플 코드
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
//Verify the partner name
var partner = dataLib.api.getPartner();
현재 DIL 인스턴스의 상태를 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getState: function () {}
샘플 코드
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: []
}
}
*/
데이터 파트너가 사용자 ID를 교환하고 자신과 Audience Manager 간에 동기화할 수 있는 두 가지 기능으로 구성됩니다.
함수 서명:
DIL 버전 2.10 및 3.1 이상에서 작동합니다.
코드 | 사용자 ID 동기화 |
---|---|
dil.Instance.api.idSync(initConfig) |
서로 다른 데이터 파트너와 Audience Manager 간의 관계 예를 들어 파트너 x은 이 변수를 사용하여 파트너 y와 사용자 ID를 동기화한 다음 Audience Manager으로 보냅니다.
중요: 이 메서드는 더 이상 사용되지 않습니다. Adobe Experience Platform ID 서비스 인스턴스의 |
dil.Instance.api.aamIdSync(initConfig) |
사용자 ID를 이미 알고 있고 Audience Manager으로 보내려는 경우
중요: 이 메서드는 더 이상 사용되지 않습니다. Adobe Experience Platform ID 서비스 인스턴스의 |
idSync 요소
idSync
can conduct of following:
이름 | 유형 | 설명 |
---|---|---|
dpid |
문자열 | Audience Manager가 할당한 데이터 제공업체 ID입니다. |
dpuuid |
문자열 | 사용자에 대한 데이터 제공업체의 고유한 ID입니다. |
minutesToLive |
숫자 | (선택 사항) 쿠키 만료 시간을 설정하며 정수여야 합니다. 기본값은 20160분(14일)입니다. |
url |
문자열 | 대상 URL. |
매크로
idSync
다음 매크로를 허용합니다.
%TIMESTAMP%
: 타임스탬프를 생성합니다(밀리초 단위). 캐시 무효화에 사용됩니다.%DID%
: 사용자의 Audience Manager ID를 삽입합니다.%HTTP_PROTO%
: 페이지 프로토콜( http
또는 https
)을 설정합니다.응답
두 함수 모두 성공한 경우 Successfully queued
을 반환합니다. 실패한 경우 오류 메시지 문자열을 반환합니다.
샘플 코드
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)
});
보류 중인 요청에 콜백(JSON을 수신함)을 추가합니다.
함수 서명: result: function (callback) {}
이 콜백은 대상 게시를 처리하는 기본 콜백을 대체합니다.
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
매개 변수
이름 | 유형 | 설명 |
---|---|---|
callback |
함수로 플러그인 호출 | JSONP 콜백에서 실행되는 JavaScript 함수. |
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
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
는 DIL 및 Akamai를 호출하는 방법을 제어하는 부울 매개 변수 Data Collection Servers (DCS) 입니다.
secureDataCollection= true
(기본값)에서는 DIL가 항상 보안을 설정하고 HTTPS 호출을 수행합니다.
secureDataCollection= false
일 때 DIL은 페이지에서 설정한 보안 프로토콜을 따라 HTTP 또는 HTTPS 호출을 만듭니다.
동일한 페이지에서 visitorAPI.js 및 DIL를 사용하는 경우 secureDataCollection= false
을 설정합니다. 아래 코드 샘플을 참조하십시오.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly
브라우저가 다른 도메인의 리소스를 요청하는 방법을 제어하는 부울 true/false 매개 변수입니다.
개요
useCORSOnly
은 기본적으로 false입니다. False는 브라우저가 CORS 또는 JSONP를 사용하여 리소스 확인을 수행할 수 있음을 의미합니다. 그러나 DIL는 항상 CORS가 있는 리소스를 먼저 요청하려고 합니다. ID 서비스는 CORS를 지원하지 않는 오래된 브라우저에서는 JSONP로 되돌립니다. 보안 요구 사항이 높은 사이트와 같이 브라우저가 CORS만 사용하도록 강제해야 하는 경우 useCORSOnly:true
을 설정합니다.
코드 샘플
var dilInstance = DIL.create({
...
useCORSOnly: true
});
useCORSOnly: true
을 설정하는 것이 좋습니다.useCORSOnly: true
이면 DIL은 Internet Explorer 버전 9 이상에서 ID 호출을 하지 않습니다.요청 유형을 스크립트 <src>
에서 이미지 <img>
으로 변경합니다.
함수 서명: useImageRequest: function () {}
이 메서드에 다른 API 호출을 체인으로 연결할 수 있습니다.
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();