トラッキングの実行

トラッキングの実行 #

ユーザーの行動履歴や閲覧学習残留カート情報の収集購買学習を行う画面では、トラッキングを実行する必要があります。
トラッキングは track メソッドにより行います。

レコメンド取得を行う場合は、必ず事前にトラッキングが行われている必要があります。
また、1回のトラッキングでは、レコメンド取得の呼び出しは1回だけ行うことができます。
(1回のレコメンド取得呼び出しで複数のレコメンド場所に対するレコメンドを取得することができます。詳細はレコメンド取得の実行の章をご覧ください。)

トラッキングパラメータ #

track メソッドへは TrackingParameter クラスを用いてパラメータを設定します。
指定できるパラメータの内容は、以下のとおりです。

パラメータ名 説明 必須
location Locationクラス ロケーション
referrer Referrerクラス リファラ
values TrackingValuesクラス 実行するトラッキングの詳細パラメータ *1

*1: 閲覧学習残留カート情報の収集購買学習など、実行するトラッキングの種別によって様々な値を指定します。

トラッキング処理のコールバック #

trackメソッドが呼び出されるとイベントによって下記のコールバックが呼び出されます。
処理が必要なイベントには、コールバックを実装してください。

コールバック 呼び出されるタイミング
onStart トラッキングリクエストが送信開始されたとき
onSuccess トラッキングリクエストが成功したとき
onFailure トラッキングリクエストが失敗したとき
onCancel トラッキングリクエストがcancelメソッドによりキャンセルされたとき

レコメンドコンテンツの効果測定 #

レコメンドコンテンツの効果測定(どのレコメンドコンテンツに反応があったかの収集)を行う場合、
該当レコメンドへの反応を記録するトラッキングの実行時にレコメンド結果内で返却された効果測定ID(sessionId)を TrackingValues.sessionId にセットします。
このIDは以後説明する、閲覧学習などでレコメンドコンテンツの効果測定をあわせて行いたい場合に追加で指定します。

効果測定ID 設定イメージ

サンプルコード #

アイテム item_1234 の閲覧学習を行うとともに効果測定IDを送信するサンプルです。

do {
    let trackingValues = try BrowsingValues.Builder()
        .itemCode("item_12345")              // アイテムコード
        .sessionId(SessionId("SESSION_ID"))  // 効果測定ID
        .build()

    try Rtoaster.track(.Builder()
        .location(Location("testLocation"))
        .values(trackingValues)
        .build()
    ).onFailure { [weak self] error in
        print("Communication error: \(error.toMap())")
    }
} catch {
    print("Parameter error: \(error.toMap())")
}
val trackingValues = BrowsingValues {
    itemCode("item_12345")               // アイテムコード
    sessionId(SessionId("SESSION_ID"))   // 効果測定ID
}

try {
    Rtoaster.track(TrackingParameter {
        location(Location("testLocation"))
        values(trackingValues)
    }).onFailure {
        Log.d("Rtoaster", "Communication error", it)
    }
} catch (e: Exception) {
    Log.d("Rtoaster", "Parameter error", e)
}