# PI analytics 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(此字段只能包含英文字母大小写、数字和下划线)

# 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);