返回顶部

云步SDK统计接口文档

1. 接口说明

统计的所有接口都通过com.zeus.analytics.api.ZeusAnalytics类调用,游戏可根据需求添加统计项。

2. 玩家信息统计

2.1 上报玩家等级信息

  • 上报玩家等级信息,当玩家等级上升时调用;如果游戏没有玩家等级,可不上报。
ZeusAnalytics.getInstance().onUserLv(int lv);

参数说明:

参数名称 参数类型 是否必须 参数说明
lv int 必须 玩家等级,必须大于0

3. 关卡统计

3.1 上报玩家最高解锁关卡

  • 当有新的、更高的关卡解锁时调用,其他时候别调用。
ZeusAnalytics.getInstance().onUnlockLevel(String levelId);
参数名称 参数类型 是否必须 参数说明
levelId String 必须 关卡id(此字段只能包含英文字母大小写、数字和下划线)

3.2 关卡情况统计

  • 统计关卡的进入、放弃、失败、完成情况。

3.2.1 关卡开始

  • 在玩家进入某个关卡时调用,用于统计关卡进入情况。
ZeusAnalytics.getInstance().onLevelStart(String levelId, String scene);
参数名称 参数类型 是否必须 参数说明
levelId String 必须 关卡id(此字段只能包含英文字母大小写、数字和下划线)
scene String 可选 进入关卡的场景,如:主页、关卡页、任务页、重新挑战页等(此字段只能包含英文字母大小写、数字和下划线)

3.2.2 关卡放弃

  • 在关卡未完成前,玩家主动放弃关卡时调用,用于统计关卡主动放弃的情况;必须先调用关卡开始的事件后,才能调用关卡放弃的事件,否则此次事件无效。
ZeusAnalytics.getInstance().onLevelGiveUp(String levelId);
参数名称 参数类型 是否必须 参数说明
levelId String 必须 关卡id(此字段只能包含英文字母大小写、数字和下划线)

3.2.3 关卡失败

  • 在关卡失败时(非主动放弃)调用,用于统计关卡失败的情况;必须先调用关卡开始的事件后,才能调用失败的事件,否则此次事件无效。
ZeusAnalytics.getInstance().onLevelFailed(String levelId);
参数名称 参数类型 是否必须 参数说明
levelId String 必须 关卡id(此字段只能包含英文字母大小写、数字和下划线)

3.2.4 关卡完成

  • 在关卡完成时调用,用于统计过关情况;必须先调用关卡开始的事件后,才能调用完成的事件,否则此次事件无效。
ZeusAnalytics.getInstance().onLevelFinish(String levelId);
参数名称 参数类型 是否必须 参数说明
levelId String 必须 关卡id(此字段只能包含英文字母大小写、数字和下划线)

4. 非关卡类游戏统计(关卡类游戏忽略)

4.1 上报玩家段位信息

  • 当玩家段位发生改变时调用,没有段位信息可不调用。
ZeusAnalytics.getInstance().onUnlockStage(String stage);
参数名称 参数类型 是否必须 参数说明
stage String 必须 玩家当前段位(此字段只能包含英文字母大小写、数字和下划线)

4.2 上报玩家对局总数

ZeusAnalytics.getInstance().onRoundNum(int num);
参数名称 参数类型 是否必须 参数说明
num int 必须 玩家对局总数

5. 道具统计

5.1 道具获得统计

  • 在游戏中,当获得游戏道具时调用,可以只统计重要的、有意义的道具。
ZeusAnalytics.getInstance().propsGet(String scene, String reason, List<PropsInfo> propsInfoList);
参数名称 参数类型 是否必须 参数说明
scene String 必须 获得场景
reason String 必须 获得原因,如:充值、关卡、签到、活动、升级、任务、奖励 (此字段只能包含英文字母大小写、数字和下划线)
propsInfoList List<PropsInfo> 必须 道具信息列表

PropsInfo参数说明:

参数名称 参数类型 是否必须 参数说明
propsId String 必须 道具id,用于区分每一样道具,切勿定义重复的道具id,否则导致数据不准确 (此字段只能包含英文字母大小写、数字和下划线)
propsNum int 必须 获得的道具数量,必须大于0
beforeNum int 必须 获得前的数量
afterNum int 必须 获得后的数量

例示1:

        //第一部分新手引导获得
        List<PropsInfo> propsInfoList = new ArrayList<>();

        PropsInfo coin = new PropsInfo();
        coin.setPropsId("coin");//金币
        coin.setPropsNum(100);//获得100金币
        coin.setBeforeNum(0);//获得前的数量
        coin.setAfterNum(100);
        propsInfoList.add(coin);

        PropsInfo diamond = new PropsInfo();
        diamond.setPropsId("diamond");//钻石
        diamond.setPropsNum(10);//获得10钻石
        diamond.setBeforeNum(10);//获得前的数量
        diamond.setAfterNum(20);//获得后的数量
        propsInfoList.add(diamond);

        ZeusAnalytics.getInstance().propsGet("guide", "guide_reward", propsInfoList);

5.2 道具消耗统计

  • 在游戏中,当消耗游戏道具时调用,可以只统计重要的、有意义的道具。
ZeusAnalytics.getInstance().propsConsume(String scene, String reason, List<PropsInfo> propsInfoList);
参数名称 参数类型 是否必须 参数说明
scene String 必须 道具消耗场景
reason String 必须 道具消耗原因,如:购买东西、关卡消耗、兑换 (此字段只能包含英文字母大小写、数字和下划线)
propsInfoList List<PropsInfo> 必须 道具信息列表

PropsInfo参数说明:

参数名称 参数类型 是否必须 参数说明
propsId String 必须 道具id,用于区分每一样道具,切勿定义重复的道具id,否则导致数据不准确 (此字段只能包含英文字母大小写、数字和下划线)
propsNum int 必须 消耗的道具数量,必须大于0
beforeNum int 必须 消耗前的数量
afterNum int 必须 消耗后的数量

例示:

        //第10关消耗钻石和金币
        List<PropsInfo> propsInfoList = new ArrayList<>();

        PropsInfo diamond = new PropsInfo();
        diamond.setPropsId("diamond");//钻石
        diamond.setPropsNum(2);//消耗2钻石
        diamond.setBeforeNum(10);//消耗前的数量
        diamond.setAfterNum(8);//消耗后的数量
        propsInfoList.add(diamond);

        PropsInfo coin = new PropsInfo();
        coin.setPropsId("coin");//金币
        coin.setPropsNum(100);//消耗100金币
        coin.setBeforeNum(100);//消耗前的数量
        coin.setAfterNum(0);//消耗后的数量
        propsInfoList.add(coin);

        ZeusAnalytics.getInstance().propsConsume("level", "level_10", propsInfoList);

7. 自定义事件

7.1 计数事件

7.1.1 不带参数的计数事件

ZeusAnalytics.getInstance().customEvent(String eventId);

参数说明:

参数名称 参数类型 是否必须 参数说明
eventId String 必须 事件id (此字段只能包含英文字母大小写、数字和下划线)

7.1.2 带参数的计数事件

ZeusAnalytics.getInstance().customEvent(String eventId, Map<String, String> params);

参数说明:

参数名称 参数类型 是否必须 参数说明
eventId String 必须 事件id (此字段只能包含英文字母大小写、数字和下划线)
params Map<String, String> 可选 事件参数,参数为键值对的方式,参数键字段只能包含英文字母大小写、数字和下划线,参数值不为空

7.1.3 支持多类型参数的计数事件

ZeusAnalytics.getInstance().customEventObject(String eventId, Map<String, Object> params);

参数说明:

参数名称 参数类型 是否必须 参数说明
eventId String 必须 事件id (此字段只能包含英文字母大小写、数字和下划线)
params Map<String, Object> 可选 事件参数,参数为键值对的方式,参数键字段只能包含英文字母大小写、数字和下划线,参数值不为空,参数值支持多类型(String、Long、Integer、Float、Double、Short)

7.2 计算事件

ZeusAnalytics.getInstance().customEventValue(String eventId, Map<String, String> params, int value);

参数说明:

参数名称 参数类型 是否必须 参数说明
eventId String 必须 事件id (此字段只能包含英文字母大小写、数字和下划线)
params Map<String, String> 必须 事件参数,参数为键值对的方式,参数键字段只能包含英文字母大小写、数字和下划线,参数值不为空
value int 必须 事件值

例示:

int duration = 120;//关卡耗时
Map<String, String> map = new HashMap();
map.put("UserId","123456");//角色账号
map.put("Lv","60");//角色等级
map.put("LevelId","10");//关卡id
ZeusAnalytics.getInstance().customEventValue("GameLevel", map, duration);