跟踪分析

运行机制

跟踪分析允许您收集并累计用户生成的事件以评估活动成效及引荐数量。所获数据可用于吸引联盟网络的参与,因为越有力的数据会让邀请更具吸引力。

该功能可处理以下事件:

  • 到着陆页的切换
  • 从着陆页到商店的切换

使用者

  • 集成了流量联盟并配置了联盟推手/联盟网络活动的合作伙伴。
  • 集成了流量联盟并拥有免费游戏的合作伙伴。

如何获取

要集成跟踪分析,请执行以下操作:

  1. 获取JSON Web令牌(JWT)。
  2. 将请求参数中的tracking_id保存到您的网站cookie。包含tracking_id请求的示例:https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC
  3. 每当创建了新用户,通过注册事件发送方法发送user_idtracking_id
    • 建议异步发送请求,因为这样在等待艾克索拉跟踪API响应的过程中不会干扰用户注册。
    • 否则,请使用超时。请注意,如果等待艾克索拉跟踪API响应的时间超过指定时间,将不会跟踪新用户。
  4. 要创建及管理自定义事件,请实现以下跟踪API方法:创建初始化发送事件。
  5. 在您的网站上实现跟踪脚本。

获取令牌

HTTP请求

POST https://tracking-api.xsolla.com/v1/tokens

参数描述
AuthorizationAPI_KEY。可在发布商帐户中获取您的API密钥。
sourceType数据来源类型。可为"client"、"server"。客户端来源视为不可信,存储中的所有相关事件具有值 "trusted: false" 。服务器来源视为可信,存储中的所有相关事件具有值 "trusted: true"
sourceName数据来源名称。
projectId项目ID。

示例:获取令牌

POST https://tracking-api.xsolla.com/v1/tokens

Headers:
Content-Type: application/json
Authorization: Basic 12kj3hlk1j2hlkjhlk1j2h3lkj 

Body:
{
  "sourceType": "client",
  "sourceName": "landing",
  "projectId": 1
}

HTTP/1.1 201 Token created
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2 g_dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du"
}

相应代码描述
201Token created
400Query parameters are not valid
401Project key is not valid

注册事件发送

在此之前需先获取令牌

HTTP请求

POST https://tracking-api.xsolla.com/v1/events

发送方法时会完成以下步骤:

  1. 最终用户打开其在流量来源处(圈内达人的stream页面、推广页等)找到的跟踪链接。该动作会生成一个点击ID
  2. 代理页面侧会生成一个Tracking ID,并以参数形式传入着陆页。
  3. 用户访问着陆页并注册。
  4. 游戏开发者通过跟踪API发送注册事件,从而将用户的Tracking ID传入参数。

参数描述
Authorization之前获取的令牌。
type事件类型(此处:registration)。
traits对象。用户身份数据:
  • trackingId - 重定向到游戏网站的用户的Tracking ID。艾克索拉在重定向后将其包含在请求参数中发送。
  • userId - 创建令牌时分配到的用户ID
context该对象必须为空。
properties该对象必须为空。

示例

POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "registration",
  "traits": {
    "trackingId": "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
    "userId": "20181126"
  },
  "properties": {
  },
  "context": {
  }
}'

生成事件

在此之前需先获取令牌

HTTP请求

POST https://tracking-api.xsolla.com/v1/events

参数描述
Authorization之前获取的令牌。
type事件类型。
traits对象。用户身份数据:电话、电子邮箱、游戏ID等。
context对象。上下文数据。
properties对象。事件属性。
createdAt日期。格式:RFC 3339或ISO 8601格式的日期和时间。

示例事件:切换到着陆页

POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "landing_visit",
  "traits":{
    },
  "properties":{
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}

示例事件:切换到支付中心

POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "buy_btn",
  "traits":{
    },
  "properties":{
    "pkg_type":"bronze"
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}

相应代码描述
204已添加事件
400事件无效
401令牌无效

初始化事件

在此之前需先获取令牌

xnt("init", YOUR_TOKEN);

发送事件

xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);

参数描述
EVENT_TYPE事件名称(字符串)。例如:"landing_visit"。
EVENT_PROPERTIES事件属性(JS对象)。

示例

xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });

事件参数

参数描述
source事件来源(支付中心、landing_page等)。
type事件类型(user_visit、hit等)。
traits用户数据(电子邮箱、user_id、昵称等)。
context事件上下文(ip、gaClientId等)。
properties事件属性(sum、levelup等)。
createdAt事件时间,由来源传入。
timestamp系统收到事件的时间。

如要使用'context'和'traits'参数补充事件,请使用以下方法:

xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);

参数描述
CONTEXT_OBJECT事件上下文(JS对象)。
TRAITS_OBJECT用户数据(JS对象)。
Note: 上下文的'userAgent'和'userLocale'将自动添加。这两个方法添加的数据将合并到事件数据中。

实现脚本

在着陆页面实现以下脚本:

<script>
(function(i,s,o,g,r,a,m){i['XsollaNetworkTrackingObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(ar guments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.inse rtBefore(a,m)})(window,document,'script','https://cdn.xsolla.net/network/xtracking-0.1.js','xnt');
xnt("init", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_ dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du");
xnt("sendEvent", "buy_btn", { pkg_type : "gold" });
</script>