安装后数据分析 — SDK 等级跟踪

上次更新:
Chartboost 的事件跟踪让您可以监视玩家参与并创建分群跟踪更有可能进行应用内购买的人群。此类分群可以优化您的用户吸纳,强化您的二次营销广告活动,并驱动其他类型的赢利。

目录


事件跟踪概述

PIA 事件跟踪集成的运作方式为通过 SDK 或 S2S 以单独事件字段的形式发送玩家等级数据,如完成教学关卡等,到 Chartboost (直接发送或通过第三方)。

字段设计让您可以有效收集并发送等级数据,通过智能用户分群将用户回访和赢利最大化。

每个事件字段必须对应单一等级数据类型。

可用字段在下表列出,后附用例:

事件字段事件标签示例 1定义连续?2

分群
运算符 3

可选
描述示例 4
1 "HIGHEST_LEVEL_REACHED" 玩家所达到最高数字等级 >=, >, ==, <, <= “Chocolate Fudge 等级”
2 "CURRENT_AREA" 玩家当前等级/地区 - ==, != “月球坑洞”
3 "CHARACTER_LEVEL" 玩家角色在游戏中等级 >=, >, ==, <, <= “巫术大师”
4 "OTHER_SEQUENTIAL" 附加字段供开发者发送连续数据 >=, >, ==, <, <= "5"
5 "OTHER_NONSEQUENTIAL" 附加字段供开发者发送非连续数据 - ==, != “完成教程”
注:

1. 事件标签为必填内容,会用来识别 Chartboost 后台的事件字段类型

2. 连续事件字段用来跟踪 1) 只升不降的等级数据;或 2) 用作分群依据的数值,例如高于或低于特定数值 (请见下方用例)

3. 运算符用来创建玩家分群以优化用户吸纳、强化二次营销或驱动其他赢利类型

4. 可选事件描述可以用来识别等级名称 (例如“月球坑洞”) 而非等级事件类型 (“主角所在区域”)


除了事件字段标题和事件描述外,集成要求您包括数字等级值,还支持可选次等级值

如果您的游戏基于区域或使用非连续等级,您需要内部映射区域到等级值 (例如,“高地” = 1,“翡翠墓园” = 2,等等)。

系统会跟踪玩家等级数据并在接收到新等级事件后进行更新。


用例

本部分探讨五项事件字段类型的可能用例。注意 OTHER_SEQUENTIALOTHER_NONSEQUENTIAL 事件为额外内容,您可以用来分类或跟踪附加等级数据。


完成最高等级 (包括 OTHER_SEQUENTIAL)

用例 #1: 简单等级

在 “Sugar Smash Story” 中,Jane 在 1/15/2015 达到了等级 400。达到该等级后,游戏会发送事件到 Chartboost 并为其设备 ID 记录数据并替换当前状态 “等级 399”。

  • 事件字段: 1
  • 事件标签: “Sugar Smash 等级”
  • 主等级值: 400
  • 次等级值: 0
  • 等级描述: “Chocolate Fudge 等级”

用例 #2: 复杂等级

在“Foul Mood Fowl”中,Bob 在区域 2 (2-9) 中完成了关卡 9。达到区域 2 关卡 10 (2-10) 后,游戏会发送事件到 Chartboost 并附如下数据:

  • 事件字段: 1
  • 事件标签: “Foul Mood Fowl 关卡”
  • 主等级值: 2
  • 次等级值: 10
  • 关卡描述: “2-10”

抵达游戏中区域/当前关卡

用例 #1: 开放世界等级

在一款开放世界 RPG 中,Joe 从“翡翠墓园”前往“高地”。游戏会发送如下事件到 Chartboost:

  • 事件字段: 2
  • 事件标签: “角色当前区域”
  • 主等级值: 3
  • 次等级值: 0
  • 等级描述: “高地”

在此示例中,游戏可以有区域对等级映射:

  • 腹地 = 1
  • 休耕沼泽 = 2
  • 高地 = 3
  • 翡翠墓园 = 4

用例 #2: FTUE (首次用户体验)

在一款前几个关卡为首次用户体验/教学关卡的动作游戏中,您可以使用 OTHER_SEQUENTIALOTHER_NONSEQUENTIAL 字段 (取决于您是否希望从教学关卡开始跟踪进度) 以发送等级数据,连同您通过 HIGHEST_LEVEL_REACHED 事件字段跟踪的等级数据:

使用连续教学等级的游戏:

  • 事件字段: 4
  • 事件描述: “教学进度”
  • 主等级值: 0
  • 次等级值: 0
  • 等级描述: “教学开始”

如需跟踪教学完成:

  • 事件字段: 4
  • 事件描述: “教学进度”
  • 主等级值: 1
  • 次等级值: 0
  • 等级描述: “教学完成”

角色等级 (包括 OTHER_SEQUENTIAL)

在某些游戏中,尤其是 RPG 或中度游戏中,用户等级是用来分群和定位的理想数据。

用例: 中度 MOBA 游戏

当 Terri 的精灵法师达到等级 10 后,系统会发送事件到 Chartboost:

  • 事件字段: 3
  • 事件标签: “玩家角色等级”
  • 主等级值: 10
  • 次等级值: 0
  • 等级描述: “精灵巫师”

以下部分会指引您完成通过 SDK、S2S 集成或第三方来发送等级数据到 Chartboost 的步骤。


iOS SDK 事件跟踪集成

必备条件

开始前,您需要:

集成

您应首先列举如下五种等级事件:

typedef enum {
// 达到最高等级
 HIGHEST_LEVEL_REACHED = 1,
// 达到当前区域等级
 CURRENT_AREA = 2,
// 达到当前角色等级
 CHARACTER_LEVEL = 3,
// 达到其他连续等级
 OTHER_SEQUENTIAL = 4,
// 达到其他非连续等级
 OTHER_NONSEQUENTIAL = 5
} CBLevelType;

然后,您可以使用以下代码来跟踪用户等级信息。等级可以为连续、不连续、角色等级或其他。

@interface CBAnalytics : NSObject

// 用于有次等级的游戏

+ (void)trackLevelInfo:(NSString*)eventLabel
 eventField:(CBLevelType)eventField
 mainLevel:(NSUInteger)mainLevel
 subLevel:(NSUInteger)subLevel
 description:(NSString*)description;
 
@end
@interface CBAnalytics : NSObject

// 用于无次等级的游戏

+ (void)trackLevelInfo:(NSString*)eventLabel
 eventField:(CBLevelType)eventField
 mainLevel:(NSUInteger)mainLevel
 description:(NSString*)description;
 
@end

定义:

  • eventField: 任何上方显示的 CBLevelType 列举; 用于定义事件类型发送整数 (1-5) 到 Chartboost。
  • mainLevel: 非零整数代表玩家当前主要等级
  • subLevel: 整数代表玩家次等级;如不可用请使用上述第二方法
  • 描述: 可选字符串描述事件

Google Play SDK 事件跟踪集成

必备条件

开始前,您需要:

集成

您应首先列举如下五种等级事件:

public class CBAnalytics {
    public enum CBLevelType {
        HIGHEST_LEVEL_REACHED(1),
        CURRENT_AREA(2),
        CHARACTER_LEVEL(3),
        OTHER_SEQUENTIAL(4),
        OTHER_NONSEQUENTIAL(5);
    }
}

然后,您可以使用以下代码来跟踪用户等级信息。等级可以为连续、不连续、角色等级或其他。

public class CBAnalytics {

// 用于无次等级的游戏:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, 0, description);
 }
 
}
public class CBAnalytics {

// 用于有次等级的游戏:
 public static synchronized void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, int subLevel, String description) {
 trackLevelInfo(eventLabel, type, mainLevel, subLevel, description);
 }
 
}

亚马逊 SDK 事件跟踪集成

必备条件

开始前,您需要:

集成

亚马逊事件跟踪,请按照上方 Google Play 集成指南


Unity 插件事件跟踪集成

必备条件

开始前,您需要:

集成

您应首先列举如下五种等级事件:

namespace ChartboostSDK {

/// PIA 事件跟踪列举值
 public enum CBLevelType : int {
// 达到最高等级 
 HIGHEST_LEVEL_REACHED = 1,
// 达到当前区域等级 
 CURRENT_AREA = 2,
// 达到当前角色等级 
 CHARACTER_LEVEL = 3,
// 达到其他连续等级
 OTHER_SEQUENTIAL = 4,
// 达到其他非连续等级 
 OTHER_NONSEQUENTIAL = 5
 };
}

然后,您可以使用下方代码块中的合适代码来跟踪用户等级信息。等级可以为连续、不连续、角色等级或其他。

有次等级的游戏

namespace ChartboostSDK {
  
    public static void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, int subLevel, String description) {
        CBExternal.trackLevelInfo(eventLabel, type, mainLevel, subLevel, description);
    }
    
}

无次等级的游戏

namespace ChartboostSDK {

    public static void trackLevelInfo(String eventLabel, CBLevelType type, int mainLevel, String description) {
        CBExternal.trackLevelInfo(eventLabel, type, mainLevel, description);
    }
  
}

定义:

  • 类型: 任何上方显示的 CBLevelType 列举; 用于定义事件类型
  • mainLevel: 非零整数代表玩家当前主要等级
  • subLevel: 整数代表玩家次等级;如不可用请使用上述第二方法
  • 描述: 可选字符串描述事件

服务器对服务器集成事件跟踪集成

Chartboost 服务器对服务器 (S2S) PIA 事件跟踪集成可以跟踪玩家参与信息并存储在系统中。

S2S 事件跟踪调用包含等级信息和 API 令牌 (联系我们以获取您的令牌) 以验证请求:

{
    'app_id': app_id,
    'gaid': gaid,
    'event': {
        'event_label': event_label,  
        'event_field': event_field,  
        'main_level': main_level,
        'sub_level': sub_level,
        'description': description
    }

以下是有关事件跟踪调用本身的信息。如需获取您的 API 令牌,请联系 Chartboost 客服

事件跟踪 S2S 请求详情

方法

POST

端点

https://live.chartboost.com/event_service/v3/track

头文件

(请注意头文件包含身份验证信息。)

头文件名示例描述
X-Chartboost-Token 9782f24948b6d8125518f421f70240c415e0d25b 您的 API 令牌 (请联系 support.integrations@chartboost.com 以获取您的 PIA API 令牌和 API 密钥)
X-Chartboost-Signature 173e6aeff28e4b76b488d5acf49ed8ebb8e95559 查看此要点以生成。这与您的 Chartboost 应用签名的值不一样!

JSON 正文: 事件跟踪参数

参数iOS 应用Android 应用示例描述
track_info       下方对象数组
event_label 必填 必填 “解开最高等级之谜” 自定义游戏内事件标签
event_field 必填 必填 1 事件类型相应 ID;ID 请见此表格
main_level 必填 必填 2 主要等级 (非零整数)
sub_level 必填 必填 1 次等级整数 (如不可用请填 0)
描述 可选 可选 “老怪等级” 等级描述

JSON 正文: 标识符参数

参数iOS 应用Android 应用示例描述
应用 ID 必填 必填 "54ecc0535beacdc1e1eff778"  Chartboost 应用 ID (可在 Chartboost 后台找到)
ifa 必填 不适用 IFA: "7e8ec8092004283043e99d515ab0c51b0ef755ff" (32 characters; dashes OK; uppercase letters OK) 广告标识符
gaid 不适用 必填 "38400000-8cf0-11bd-b23e-10b96e40000d" (32 字符,加上 4 条划线) Google 服务广告 ID (仅限 Android)
UUID 不适用 可选 (若 GAID 未发送,或者是亚马逊应用) "358414046356276" 遗留 Android ID 或亚马逊游戏
首先,使用端点开始: 生成请求
https://live.chartboost.com/event_service/v3/track

添加参数到 JSON 正文即大功告成!请求成功后会返回: {"status":200,"message":"Success"}

如果您的调用接收到 500 HTTP 错误代码,您的服务器需要重新尝试 S2S 调用,但不要立即重试: 等待 2 秒,等待 4 秒,等待 8 秒,然后等待 16 秒直到成功。

第三方服务器对服务器集成事件跟踪集成

为了对跨平台或跨网络的等级数据做出更详尽的分析,您也可以设置 S2S 集成,从第三方跟踪服务导入等级数据。集成后,您可以在 Chartboost 后台查看第三方数据。了解详情 ▶


等级/事件用户分群

了解如何创建于用户分群基于等级/事件数据,请见用户分群生成指南


等级/事件跟踪数据分析后台

您可以使用安装后数据分析后台来查看事件跟踪数据分析。详情请查看 PIA 后台指南