인스턴스 수준 DIL 메서드 instance-level-dil-methods
인스턴스 수준 DIL API를 사용하면 프로그래밍 방식으로 Audience Manager 개체를 만들고 작업할 수 있습니다. 인스턴스 수준 메서드는 클래스 수준 메서드에서 설정한 API 기능을 향상시킵니다.
인스턴스 수준 DIL 메서드 시작 get-started-dil-methods
인스턴스 수준 DIL API를 사용하는 경우:
- 액세스하려면 파트너 이름과 컨테이너 네임스페이스 ID(NSID)가 필요합니다. 이 정보를 얻으려면 Audience Manager 계정 관리자에게 문의하십시오.
- 작업 중인 메서드의 필요에 따라 API 설명서의 샘플 italicized 텍스트를 값, ID 또는 다른 변수로 바꿉니다.
신호 signals
고객 및 플랫폼 수준 매핑을 보류 중인 요청의 쿼리 문자열에 추가합니다.
함수 서명: signals: function ({key1:value1, key2:value2},prefix){}
- 이 메서드에 다른 API 호출을 연결할 수 있습니다.
- Adobe Experience Cloud JavaScript 라이브러리가 페이지에 있는 경우
submit()
은(는) 클라우드가 쿠키를 설정한 후 요청을 보낼 때까지 기다립니다.
예약된 요청 키
다음 요청 키는 예약되어 있으며 이 메서드로 덮어쓸 수 없습니다.
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
매개 변수
obj
prefix
return
응답
현재 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();
traits traits
보류 중인 요청의 쿼리 문자열에 SID를 추가합니다.
함수 서명: traits:function (sids){}
매개 변수
sids
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
로그 logs
보류 중인 요청의 로그 파일에 데이터를 추가합니다.
함수 서명: 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'
});
제출 submit
DIL 인스턴스에 대해 보류 중인 모든 데이터를 Audience Manager에 제출합니다.
함수 서명: submit: function () {}
%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 afterresult
기본 대상 게시 콜백 후에 실행되는 함수입니다.
함수 서명: afterResult: function (fn) {}
매개 변수
fn
응답
현재 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 cleardata
보류 중인 요청의 모든 데이터를 지웁니다.
함수 서명: clearData: function () {}
응답
현재 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 customqueryparams
데이터 수집 서버에서 명시적으로 정의하지 않은 사용자 지정 쿼리 매개 변수를 보류 중인 요청에 추가합니다.
함수 서명: customQueryParams: function (obj) {}
예약된 요청 키
다음 요청 키는 예약되어 있으며 이 메서드로 덮어쓸 수 없습니다.
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
getContainerNSID getcontainernsid
DIL 인스턴스에 대한 컨테이너 NSID 값을 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getContainerNSID: function () {}
샘플 코드
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
//Verify the container NSID
var nsid = dataLib.api.getContainerNSID();
getEventLog geteventlog
연대순으로 정렬된 이벤트 로그 데이터를 문자열 배열로 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: 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');
}
getPartner getpartner
DIL 인스턴스에 대한 파트너 이름을 반환합니다. 디버깅 및 문제 해결에 유용합니다.
함수 서명: dil.api.getPartner: function () {}
샘플 코드
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
//Verify the partner name
var partner = dataLib.api.getPartner();
getState getstate
현재 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: []
}
}
*/
idSync idsync
데이터 파트너가 사용자와 Audience Manager 간에 사용자 ID를 교환하고 동기화할 수 있는 두 가지 기능으로 구성됩니다.
함수 서명:
DIL 버전 2.10 및 3.1 이상에서 작동합니다.
dil.Instance.api.idSync(initConfig)
다양한 데이터 파트너와 Audience Manager 간 예를 들어 파트너 x는 이 기능을 사용하여 Audience Manager ID를 파트너 y와 동기화한 다음 사용자에게 보냅니다.
중요: 이 메서드는 사용되지 않습니다. Adobe Experience Platform ID 서비스 인스턴스의 idSyncByURL
메서드를 사용하십시오.
dil.Instance.api.aamIdSync(initConfig)
Audience Manager ID를 이미 알고 있고 사용자에게 보내고자 하는 경우.
중요: 이 메서드는 사용되지 않습니다. Adobe Experience Platform ID 서비스 인스턴스의 idSyncByDataSource
메서드를 사용하십시오.
idSync 요소
idSync
은(는) 다음과 같이 구성될 수 있습니다.
dpid
dpuuid
minutesToLive
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)
});
결과 result
JSON을 수신하는 콜백을 보류 중인 요청에 추가합니다.
함수 서명: result: function (callback) {}
이 콜백은 대상 게시를 처리하는 기본 콜백을 대체합니다.
매개 변수
callback
응답
현재 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
secureDataCollection
은(는) DIL이(가) Data Collection Servers (DCS) 및 Akamai를 호출하는 방법을 제어하는 부울 매개 변수입니다.
-
secureDataCollection= true
(기본값)이면 DIL은(는) 항상 보안 HTTPS 호출을 수행합니다. -
secureDataCollection= false
에서 DIL은(는) 페이지에서 설정한 보안 프로토콜을 따라 HTTP 또는 HTTPS를 호출합니다.
secureDataCollection= false
을(를) 설정하십시오. 아래 코드 샘플을 참조하십시오.
var dilInstance = DIL.create({
...
secureDataCollection: false
});
useCORSOnly usecorsonly
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를 호출하지 않습니다.
useImageRequest useimagerequest
<src>
스크립트에서 <img>
이미지로 요청 유형을 변경합니다.
함수 서명: useImageRequest: function () {}
응답
현재 DIL 인스턴스의 API 개체를 반환합니다.
샘플 코드
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123, 456, 789]).useImageRequest().submit();