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メソッドを呼び出し、以下の引数をパスします。

  • revenuenumber):イベントによって発生した収益額
  • currencystring):イベント通貨の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がイベントを記録する際にコールバック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にリクエストを送信します。例えば、URL https://www.mydomain.com/callbackが登録されている場合、コールバックは以下のようになります:

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

CSVレポートを使用している場合、CSVの定義欄にパラメーターを追加するようにしてください。

Adjustは多くのプレースホルダーをサポートしており、SDKからお客様のURLへ情報をパスする際に使用することができます。{publisher_parameter}プレースホルダーは、全てのコールバックパラメーターを1つの文字列で表示します。

この例では、ユーザーがボタンを操作する度に 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/";
});