adjust-icon

이벤트 정보 전송

Adjust SDK가 제공하는 이벤트 인터페이스는 이벤트 정보를 구성하고 이러한 정보를 앱에서 Adjust 서버로 전송하는 데 사용할 수 있습니다.

인터페이스 선언
export type EventParamsT = {|
eventToken: string,
revenue?: number,
currency?: string,
deduplicationId?: string,
callbackParams?: Array<globalparamst>,
partnerParams?: Array<globalparamst>,
|};

이벤트 전송

이벤트를 전송하려면 Adjust.trackEvent 메서드를 호출하고 Adjust 이벤트 토큰을 인수로 전달합니다.

Adjust.trackEvent({
eventToken: "{YourEventToken}",
});

예시

본 예시에서는 사용자가 버튼을 조작할 때마다 g3mfiw 라는 토큰으로 이벤트를 기록하는 방법을 보여줍니다.

function init(defaultEventConfig = {}) {
_ui.trackEventButton.addEventListener("click", _handleTrackEvent, false);
}
// ...
function _handleTrackEvent() {
const eventConfig = getItem("eventConfig") || { ..._defaultEventConfig };
if (_disabled) {
return;
}
_disabled = true;
_ui.trackEventButton.classList.add("loading");
_ui.trackEventButton.disabled = true;
clearTimeout(_timeoutId);
_timeoutId = setTimeout(() => {
_disabled = false;
_ui.trackEventButton.classList.remove("loading");
_ui.trackEventButton.disabled = false;
Adjust.trackEvent({
eventToken: "g3mfiw",
});
});
}

매출 이벤트 기록

이벤트 인스턴스에서 revenuecurrency 속성을 설정하여 이벤트 관련 매출을 기록할 수 있습니다. 이 기능을 사용하여 앱 내에서 매출을 발생시키는 행동을 측정하시기 바랍니다.

이러한 속성을 설정하려면 Adjust.trackEvent 메서드를 호출하고 다음 인수를 전달합니다.

  • revenue (number): 해당 이벤트에 의해 창출된 매출 금액
  • currency (string): 이벤트 통화의 ISO 4217 코드

통화 코드의 형식은 ISO 4217 표준을 따르는 3자 문자열로 설정해야 합니다. Adjust 서버는 보고된 매출을 선택한 리포트 통화로 변환합니다.

Adjust.trackEvent({
// ... other params go here, including mandatory ones
revenue: 110,
currency: "EUR",
});

예시

본 예시에서는 사용자가 버튼을 조작할 때마다 g3mfiw 라는 토큰으로 이벤트를 기록하는 방법을 보여줍니다. 이 함수는 이벤트의 revenue 속성을 0.25 , currency 속성을 EUR 로 설정합니다.

function init(defaultEventConfig = {}) {
_ui.trackRevenueEventButton.addEventListener(
"click",
_handleTrackEvent,
false,
);
}
//...
function _handleTrackEvent() {
const eventConfig = getItem("eventConfig") || { ..._defaultEventConfig };
if (_disabled) {
return;
}
_disabled = true;
_ui.trackRevenueEventButton.classList.add("loading");
_ui.trackRevenueEventButton.disabled = true;
clearTimeout(_timeoutId);
_timeoutId = setTimeout(() => {
_disabled = false;
_ui.trackRevenueEventButton.classList.remove("loading");
_ui.trackRevenueEventButton.disabled = false;
Adjust.trackEvent({
eventToken: "g3mfiw",
revenue: 0.25,
currency: "EUR",
});
});
}

매출 이벤트 중복 제거

중복 이벤트 트래킹을 방지하기 위해 추가적인 ID를 전송할 수도 있습니다. SDK는 최근순으로 10가지의 ID를 저장하고, 중복된 트랜잭션 ID가 있는 매출 이벤트를 건너뜁니다.

이를 구성하려면 deduplicationId 속성을 트랜잭션 ID로 설정하세요.

Adjust.trackEvent({
// ... other params go here, including mandatory ones
deduplicationId: "{YourDeduplicationId}",
});

예시

본 예시에서는 사용자가 버튼을 조작할 때마다 g3mfiw 라는 토큰으로 이벤트를 기록하는 방법을 보여줍니다. 이 함수로 deduplicationId5e85484b-1ebc-4141-aab7-25b869e54c49 로 설정됩니다.

function init(defaultEventConfig = {}) {
_ui.trackUniqueEventButton.addEventListener(
"click",
_handleTrackEvent,
false,
);
}
//...
function _handleTrackEvent() {
const eventConfig = getItem("eventConfig") || { ..._defaultEventConfig };
if (_disabled) {
return;
}
_disabled = true;
_ui.trackUniqueEventButton.classList.add("loading");
_ui.trackUniqueEventButton.disabled = true;
clearTimeout(_timeoutId);
_timeoutId = setTimeout(() => {
_disabled = false;
_ui.trackUniqueEventButton.classList.remove("loading");
_ui.trackUniqueEventButton.disabled = false;
Adjust.trackEvent({
eventToken: "g3mfiw",
deduplicationId: "5e85484b-1ebc-4141-aab7-25b869e54c49",
});
});
}

중복 제거 제한을 재정의하여 Adjust SDK 스토어의 식별자 수를 변경할 수 있습니다. 이를 위해 initSdk 메서드의 eventDeduplicationListLimit 인수에 새로운 제한을 지정합니다.

Adjust.initSdk({
appToken: "YOUR_APP_TOKEN",
environment: "sandbox",
eventDeduplicationListLimit: 20,
});

콜백 파라미터 추가

인터페이스 선언
export type GlobalParamsT = {|
key: string,
value: string,
|};

Adjust 대시보드에 콜백 URL을 등록하면 SDK가 이벤트를 기록할 때 ADK가 GET 요청을 콜백 URL로 보냅니다.

서버로 보낼 콜백 파라미터를 구성할 수 있습니다. 이벤트에 대한 파라미터 구성이 완료되면 SDK는 이를 콜백 URL에 추가합니다. 해당 정보를 사용하여, BI 시스템을 통해 사용자 인앱 행동을 분석할 수 있습니다.

GlobalParam 객체를 포함한 callbackParams 배열을 생성하여 이벤트에 콜백 파라미터를 추가합니다.

Adjust.trackEvent({
// ... other params go here, including mandatory ones
callbackParams: [
{ key: "key", value: "value" },
{ key: "foo", value: "bar" },
],
});

Adjust SDK는 이벤트를 측정하고 콜백 파라미터가 추가된 URL로 요청을 전송합니다. 예를 들어 URL https://www.mydomain.com/callback을 등록한 경우 콜백은 다음과 같습니다.

https://www.mydomain.com/callback?key=value&foo=bar

CSV 업로드를 사용하는 경우, 반드시 CSV 정의에 파라미터를 추가하시기 바랍니다.

Adjust는 SDK에서 URL로 정보를 전송하는 데 사용할 수 있는 다양한 플레이스홀더를 지원합니다. {publisher_parameter} 플레이스홀더는 단일 문자열의 모든 콜백 파라미터를 나타냅니다.

예시

본 예시에서는 사용자가 버튼을 조작할 때마다 g3mfiw 라는 토큰으로 이벤트를 기록하는 방법을 보여줍니다. 다음 콜백 파라미터가 추가됩니다.

  • 다양한 event_token
  • 이벤트별로 생성되는 revenue_amount

콜백 URL의 결과는 다음과 같습니다.

http://www.mydomain.com/callback?event_token=g3mfiw&revenue_amount=0.05
function init(defaultEventConfig = {}) {
_ui.trackCallbackEventButton.addEventListener(
"click",
_handleTrackEvent,
false,
);
}
//...
function _handleTrackEvent() {
const eventConfig = getItem("eventConfig") || { ..._defaultEventConfig };
if (_disabled) {
return;
}
_disabled = true;
_ui.trackCallbackEventButton.classList.add("loading");
_ui.trackCallbackEventButton.disabled = true;
clearTimeout(_timeoutId);
_timeoutId = setTimeout(() => {
_disabled = false;
_ui.trackCallbackEventButton.classList.remove("loading");
_ui.trackCallbackEventButton.disabled = false;
Adjust.trackEvent({
eventToken: "g3mfiw",
callbackParams: [
{ key: "eventToken", value: "g3mfiw" },
{ key: "revenue_amount", value: "0.05" },
],
});
});
}

파트너 파라미터 추가

인터페이스 선언
export type GlobalParamsT = {|
key: string,
value: string,
|};

파트너 파라미터를 추가하여 네트워크 파트너에게 추가 정보를 전송할 수 있습니다.

Adjust는 설정한 외부 파트너에게 파트너 파라미터를 전송합니다. 이러한 정보는 보다 세분화된 분석과 리타겟팅에 유용할 것입니다. 파트너에 대해 파라미터를 설정하고 활성화하면 Adjust 서버는 해당 파라미터를 포워드 합니다.

GlobalParam 객체를 포함한 partnerParams 배열을 생성하여 이벤트에 파트너 파라미터를 추가합니다.

Adjust.trackEvent({
// ... other params go here, including mandatory ones
partnerParams: [
{ key: "key", value: "value" },
{ key: "foo", value: "bar" },
],
});

예시

본 예시에서는 사용자가 버튼을 조작할 때마다 g3mfiw 라는 토큰으로 이벤트를 기록하는 방법을 보여줍니다. 다음 파트너 파라미터가 추가됩니다.

  • 관련 제품의 product_id
  • 이벤트를 트리거한 사용자의 user_id
function init(defaultEventConfig = {}) {
_ui.trackPartnerEventButton.addEventListener(
"click",
_handleTrackEvent,
false,
);
}
//...
function _handleTrackEvent() {
const eventConfig = getItem("eventConfig") || { ..._defaultEventConfig };
if (_disabled) {
return;
}
_disabled = true;
_ui.trackPartnerEventButton.classList.add("loading");
_ui.trackPartnerEventButton.disabled = true;
clearTimeout(_timeoutId);
_timeoutId = setTimeout(() => {
_disabled = false;
_ui.trackPartnerEventButton.classList.remove("loading");
_ui.trackPartnerEventButton.disabled = false;
Adjust.trackEvent({
eventToken: "g3mfiw",
partnerParams: [
{ key: "product_id", value: "29" },
{ key: "user_id", value: "835" },
],
});
});
}

이벤트 기록 및 외부 페이지로 리디렉션

메서드 서명
function trackEvent(params: EventParamsT): Promise<void> {
return _internalTrackEvent(params);
}

Adjust SDK를 사용하면 외부 페이지로의 리디렉션을 이벤트로 기록할 수 있습니다. 리디렉션이 발생하기 전에 SDK가 이벤트를 기록할 수 있도록 trackEvent 메서드는 Promise를 반환합니다. 이 Promise는 SDK가 Adjust 서버로부터 응답을 받은 후 충족됩니다. 내부 오류 응답이 반환되는 경우 Promise는 거부됩니다.

Adjust SDK는 이벤트를 내부 열에 저장합니다. 즉, 요청 시간이 초과하거나 오류가 발생한 경우에도 SDK는 나중에 재시도할 수 있도록 이벤트를 보존합니다.

예시

Promise.race([
Adjust.trackEvent({
eventToken: "YOUR_EVENT_TOKEN",
// ... other event parameters
}),
new Promise((resolve, reject) => {
setTimeout(() => reject("Timed out"), 2000);
}),
])
.catch((error) => {
// ...
})
.then(() => {
// ... perform redirect, for example
window.location.href = "https://www.example.org/";
});