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", }); });}
イベント収益を記録する
イベントインスタンスにrevenue
とcurrency
プロパティを設定することで、イベントに関連する収益を記録できます。この機能を使用して、アプリ内で収益が生成されるアクションを記録しましょう。
これらのプロパティを設定するには、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
のトークンでイベントを計測する方法を示します。この関数は、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にリクエストを送信します。例えば、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/"; });