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 代码

币种代码的格式须为 3 个字符且遵循ISO 4217 标准。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",
});
});
}

收入事件去重

您也可以发送一个可选的标识符,以避免监测重复事件。SDK 会存储最近 10 个标识符,带有重复交易 ID 的收入事件会被跳过。

要进行设置,请将 deduplicationId 设为您的交易 ID。

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

示例

在此示例中,每次用户与某个按钮互动时,我们就监测到一个带有 g3mfiw 标签的事件。该函数将 deduplicationId 设为 5e85484b-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 监测到事件后会,向您的回传 URL 发送一个 GET 请求。

您可以设置发送到服务器的回传参数。配置好事件的参数后,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 发送请求。例如,如果您注册了 URLhttps://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。SDK 从 Adjust 服务器得到响应后,该 Promise 被满足。如果返回的是内部错误,则 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/";
});