主题
Skip to content




说明
为了方便后续对产品进行优化,需要添加操作数据埋点的逻辑
大部分基础事件,如启动,时长,广告播放,崩溃等事件,SDK 内部都已做处理,部分和游戏玩法强关联的事件,需要 CP 在集成过程中自主上报。
上报流程
由于上报比较独立和赋值,所有接口位于ReportManager
中
但是有三个属性值,上报频率较高,不需要每次都手动传入
game_name
默认根据 \Assets\Resources\ZMYSDKAPPGlobalConfig.json
中的配置来上报
mode_name
通过 ReportManager.I.StartGameModel(ModeName);
传入,在模式开始时调用一次即可
mode_level
通过 ReportManager.I.NewReportGameStart(game_start);
中game_start的参数传入
参考
c#
void Start()
{
ZMYSDKManager.I.XYXHandler.InputFieldAdapter(m_input.gameObject);
//启动游戏应该先上报玩法开始
ReportManager.I.StartMineGame();
}
//再正式进入游戏核心玩法前,应该选择不同的玩法。也就是不同的模式,同一时间只存在一种模式
#region 模式上报
/// <summary>
/// 开始关卡模式
/// </summary>
public void mode_level(){ReportManager.I.StartGameModel("Level"); }
public void mode_PVP() { ReportManager.I.StartGameModel("PVP"); }//开始一个模式,会自动停掉上一个模式
public void mode_Customize() { ReportManager.I.StartGameModel("Customize"); }
public void mode_quit() { ReportManager.I.StartGameModel("None"); }//特殊标记为None,表示退出当前模式
#endregion
/*有关卡概念的游戏,应该进行关卡相关上报。
关卡上报分为:开始----过程中----结束。过程中的上报必须在关卡开始和结束期间进行上报。
否则会触发上报不合规,无法正常上报
关卡复活上报只能在关卡失败上报后进行上报
关卡退出上报不是关卡结束上报,关卡退出表示关卡流程被挂起,用户会再次进入挂起的关卡,并触发关卡继续上报。
*/
#region 关卡上报
/// <summary>
/// 关卡开始上报--单个关卡上报前 最开始的上报
/// </summary>
public void lv_GameStart()
{
game_start data= ReportManager.I.GetNewReportJsonData<game_start>();
int lv = 1;
int.TryParse(m_input.text, out lv);
data.mode_level = lv;
ReportManager.I.NewReportGameStart(data);
}
WARNING
💡 激励视频上报里面的 mode_level,SDK 会默认自动获取 game_start 关卡开始上报中的 mode_level 属性值,如果想改变激励视频上报中的 mode_level 值,可以调用 ReportManager.mode_Level 来修改
SDK 封装了如下上报
上报模块 | 上报说明 | 上报条目 | 说明 |
---|---|---|---|
玩法类上报 | 玩法首次开始 | start_first | StartMineGame 接口控制 |
玩法开始 | start | ||
玩法进行中 | gaming | ||
模式上报 | 模式开始 | mode_start | StartGameModel 接口控制 |
模式进行中 | mode_gaming | ||
关卡类上报 | 关卡开始 | game_start | NewReportGameStart 接口控制 |
关卡时长 | level_gaming | SDK 自动处理 | |
关卡离开 | game_quit | NewReportGameQuit 接口控制 | |
关卡进度变化 | game_progress | NewReportGameProgress 接口控制 | |
关卡犯规 | game_foul | NewReportGameFoul 接口控制 | |
关卡复活 | game_revive | NewReportGameRevive 接口控制 | |
关卡失败 | game_fail | NewReportGameFail 接口控制 | |
关卡过关 | game_complete | NewReportGameComplete 接口控制 | |
关卡平局 | game_draw | NewReportGameDraw 接口控制 | |
关卡跳过 | game_skip | NewReportGameSkip 接口控制 | |
激励视频上报 | 视频按钮不可用 | video_unable | 以下埋点由 VideoButton 组件自动上报 |
视频按钮无广告 | video_noAds | ||
视频按钮曝光 | video_show | ||
视频点击 | video_click | ||
视频播放完毕 | video_success | ||
视频播放退出 | video_fail | ||
视频播放开始 | video_play |
- 通过接口获取对应的上报数据类:
GetNewReportJsonData
c#
game_start data= ReportManager.I.GetNewReportJsonData<game_start>();
- 赋值上报类里面对应的值
c#
data.mode_level = 12;
- 调用对应上报类的接口
c#
//上报类对应的上报接口,都是固定写法NewReport_上报数据类 具体可以参考NewReportManagerByTools脚本
ReportManager.I.NewReport_game_start(game_Start);
这样就会把game\_start
上报到事件后台。
- 校验上报
每条上报都会触发相关打印:

key
:上报数据类的类名
JsonProperties
:上报赋值的数据组成的 json 字符串
玩法上报
start\_first
、start
上报只需要调用ReportManager.StartMineGame()
方法。
c#
ReportManager.I.StartMineGame();
此接口会自动触发start\_first
和start
,并在后台开启计算器,定时上报gaming
模式上报
c#
ReportManager.I.StartGameModel(“模式名称”);
WARNING
💡 调用了模式上报后,游戏会进入传入的相应游戏模式状态,后续所有涉及到 mode_name 属性都会变成模式上报时设置的值。如果相关的上报涉及到上报游戏模式,必须要设置好相应的模式之后,在进行上报。
调用StartGameModel()
SDK 会自动处理mode\_gaming
的上报
StartGameModel()
参数传入一个非 None 的模式时,SDK 自动开始模式上报;当传入 None 的时候,如果上一个模式非 None,那么会停止上一个非 None 模式的时长上报,所以StartGameModel(None)
也叫做模式结束。
关卡上报
WARNING
💡 关卡上报时,mode_name 和_duration SDK 会自动赋值。游戏研发可以忽略这 2 个字段
game_start 开始游戏
c#
ReportManager.I.NewReportGameStart();
game_quit 离开游戏
NewGameQuit
用于处理中途离开游戏的情况
表示放弃游戏。比如点击暂停,然后点击暂停页面的返回主页
SDK 接口实现:

上报离开游戏

game_progress 游戏进度发生变化
上报游戏进度:
c#
game_progress data = ReportManager.I.GetNewReportJsonData<game_progress>();
data._current_gold++;
ReportManager.I.NewReportGameProgress(data);
game_foul 游戏犯规
c#
game_foul data = ReportManager.I.GetNewReportJsonData<game_foul>();
data.activity_name = "游戏犯规1";
ReportManager.I.NewReportGameFoul(data);
game_revive 游戏复活
c#
game_revive data = ReportManager.I.GetNewReportJsonData<game_revive>();
ReportManager.I.NewReportGameRevive(data);
game_fail 游戏失败
c#
game_fail data = ReportManager.I.GetNewReportJsonData<game_fail>();
ReportManager.I.NewReportGameFail(data);
game_complete 游戏成功
c#
game_complete data = ReportManager.I.GetNewReportJsonData<game_complete>();
ReportManager.I.NewReportGameComplete(data);
game_pause 游戏暂停
c#
game_pause data = ReportManager.I.GetNewReportJsonData<game_pause>();
ReportManager.I.NewReportGamePause(data);
game_continue 游戏继续
只能在关卡暂停和关卡离开后上报,有内部控制
c#
game_continue data = ReportManager.I.GetNewReportJsonData<game_continue>();
ReportManager.I.NewReportGameContinue(data);
其他封装的上报
在ReportDefineByTools
脚本中,SDK 预置了很多业务相关上报数据类,在NewReportManagerByTools
脚本中预制了对应的上报接口。
对于 SDK 未封装的上报,参考上面的上报流程进行上报即可。
示例:
c#
//上报道具获得
item_get data = ReportManager.I.GetNewReportJsonData<item_get>();
data.item_id = 1001;
data.item_count = 50;
ReportManager.I.NewReport_item_get(data);
全部封装上报接口
方法名 | 方法属性 | 方法描述 |
---|---|---|
NewReport_game_share | game_share | 上报游戏分享 |
NewReport_game_evaluate | game_evaluate | 上报游戏评价 |
NewReport_game_ui_sort | game_ui_sort | 上报玩法多玩法排序 |
NewReport_game_stuck | game_stuck | 上报关卡卡点 |
NewReport_game_unlock | game_unlock | 上报关卡解锁 |
NewReport_game_loadstart | game_loadstart | 上报关卡资源加载开始 |
NewReport_game_loadover | game_loadover | 上报关卡资源加载完成 |
NewReport_game_loadfail | game_loadfail | 上报关卡资源加载失败 |
NewReport_game_click | game_click | 上报关卡动作 |
NewReport_game_round_start | game_round_start | 上报关卡回合开始 |
NewReport_game_round_complete | game_round_complete | 上报关卡回合结束 |
NewReport_game_behavior | game_behavior | 上报关卡行为 |
NewReport_game_difficulty_adjust | game_difficulty_adjust | 上报关卡难度调整 |
NewReport_dealing_card | dealing_card | 上报发牌 |
NewReport_item_get | item_get | 上报物品获得 |
NewReport_item_cost | item_cost | 上报物品消耗 |
NewReport_item_use | item_use | 上报物品使用 |
NewReport_tools_unlock | tools_unlock | 上报道具解锁 |
NewReport_tools_fail | tools_fail | 上报道具使用失败 |
NewReport_tools_use | tools_use | 上报道具使用成功 |
NewReport_activity_warmup | activity_warmup | 上报活动预热 |
NewReport_activity_unlock | activity_unlock | 上报活动解锁 |
NewReport_activity_enter | activity_enter | 上报活动界面进入 |
NewReport_activity_start | activity_start | 上报活动开始挑战 |
NewReport_activity_fail | activity_fail | 上报活动进度变化失败 |
NewReport_activity_success | activity_success | 上报活动进度变化成功 |
NewReport_activity_reward | activity_reward | 上报活动领奖 |
NewReport_activity_reset | activity_reset | 上报活动重置 |
NewReport_activity_giveup | activity_giveup | 上报活动放弃 |
NewReport_activity_complete | activity_complete | 上报活动完成 |
NewReport_activity_register | activity_register | 上报活动报名 |
NewReport_live_activity_start | live_activity_start | 上报活动创建 |
NewReport_live_activity_click | live_activity_click | 上报活动点击 |
NewReport_live_activity_update | live_activity_update | 上报活动更新 |
NewReport_live_activity_complete | live_activity_complete | 上报活动结束 |
NewReport_develop_trail | develop_trail | 上报养成点试用 |
NewReport_develop_unlock | develop_unlock | 上报养成点解锁 |
NewReport_develop_use | develop_use | 上报养成点使用 |
NewReport_develop_levelup | develop_levelup | 上报养成点升级 |
NewReport_element_show | element_show | 上报界面元素展示 |
NewReport_element_use | element_use | 上报界面元素使用 |
NewReport_element_result | element_result | 上报界面元素结果 |
NewReport_popup_show | popup_show | 上报弹窗展示 |
NewReport_popup_redirect | popup_redirect | 上报弹窗跳转 |
NewReport_res_downloadstart | res_downloadstart | 上报资源下载开始 |
NewReport_res_downloadover | res_downloadover | 上报资源下载成功 |
NewReport_res_downloadfail | res_downloadfail | 上报资源下载失败 |
NewReport_res_read_fail | res_read_fail | 上报资源读取失败 |
NewReport_mail_check | mail_check | 上报邮件查看 |
NewReport_mail_delete | mail_delete | 上报邮件删除 |
NewReport_mail_receive | mail_receive | 上报邮件接收 |
NewReport_insert_all | insert_all | 上报插屏All(游戏) |
NewReport_insert_nonet | insert_nonet | 上报插屏无网(游戏) |
NewReport_insert_select | insert_select | 上报插屏select(游戏) |
NewReport_insert_show | insert_show | 上报插屏show(游戏) |
NewReport_inters_click | inters_click | 上报插屏click(游戏) |
NewReport_insert_close | insert_close | 上报插屏close(游戏) |
NewReport_insert_show_level | insert_show_level | 上报insert_show_level |
NewReport_tcp_delay | tcp_delay | 上报服务器延迟 |
NewReport_login_register | login_register | 上报服务器创建账号 |
NewReport_login_b bind | login_bind | 上报绑定第三方账号 |
NewReport_login_request | login_request | 上报发起登录请求 |
NewReport_login_success | login_success | 上报登录成功 |
NewReport_login_fail | login_fail | 上报登录失败 |
NewReport_login_enterfsm | login_enterfsm | 上报进入某个登录状态 |
NewReport_login_leavefsm | login_leavefsm | 上报离开某个登录状态 |
NewReport_login_sdk | login_sdk | 上报登录SDK |
NewReport_login_startserver | login_startserver | 上报开始登录服务器 |
NewReport_login_server | login_server | 上报服务器登录回执 |
NewReport_login_startsyndata | login_startsyndata | 上报开始数据同步 |
NewReport_login_SynDatachangeuser | login_SynDatachangeuser | 上报和上一次登录的用户ID不一样 |
NewReport_login_focusupdate | login_focusupdate | 上报强制下载数据 |
NewReport_login_focusupload | login_focusupload | 上报强制上传数据 |
NewReport_login_synData_needUpdateData | login_synData_needUpdateData | 上报需要下载的数据Key |
NewReport_login_syndata_needuploaddata | login_syndata_needuploaddata | 上报需要上传的数据Key |
NewReport_login_syndata_actionsuccess | login_syndata_actionsuccess | 上报登录成功时数据同步动作完成 |
NewReport_login_syndata_fsmsuccess | login_syndata_fsmsuccess | 上报登录成功时数据同步状态成功 |
NewReport_login_nethttperror | login_nethttperror | 上报与服务器交互发生错误 |
NewReport_login_download_request | login_download_request | 上报账号数据下载发起 |
NewReport_login_download_success | login_download_success | 上报账号数据下载成功 |
NewReport_login_download_fail | login_download_fail | 上报账号数据下载失败 |
NewReport_login_upload_request | login_upload_request | 上报账号数据上传发起 |
NewReport_login_upload_success | login_upload_success | 上报账号数据上传成功 |
NewReport_login_upload_fail | login_upload_fail | 上报账号数据上传失败 |
NewReport_user_level_update | user_level_update | 上报用户等级更新 |
NewReport_pay_success_custom | pay_success_custom | 上报支付成功(自定义) |
NewReport_game_pay_event | game_pay_event | 上报支付事件(游戏) |
NewReport_unity_online_config_params | unity_online_config_params | 上报unity在线参数 |
NewReport_video_lock_park | video_lock_p park | 上报看视频解车位 |
NewReport_use_prop_refresh | use_prop_refresh | 上报使用道具排序车的颜色 |
NewReport_use_prop_sort | use_prop_sort | 上报使用道具排序人的颜色 |
NewReport_use_prop_remove | use_prop_remove | 上报使用道具移除一辆车 |
NewReport_ttfeed_entry | ttfeed_entry | 上报直玩进入 |
NewReport_ttfeed_subscribe | ttfeed_subscribe | 上报直玩订阅 |
NewReport_ttfeed_game_ready | ttfeed_game_ready | 上报游戏准备就绪 |
NewReport_ttfeed_reportev | ttfeed_reportev | 上报抖音Feed事件 |
NewReport_resume_request | resume_request | 上报发起恢复购买 |
NewReport_resume_success | resume_success | 上报恢复购买成功 |
自定义上报
也可以使用OnNewEvent
接口进行自定义事件上报
c#
// 自定义上报
ZMYSDKManager.I.SDK.OnNewEvent(key, JsonString);
视频按钮API上报
WARNING
如果 游戏研发 没有使用组件式视频激励广告,在集成激励视频广告时,请参考 VideoButton 示例 中的内容,将视频相关的上报,集成到自定义的视频按钮行为中
有玩法参数接口
ReportManager.I.NewReportVideoClick
用户点击视频按钮时
ReportManager.I.TrackVideo(3);
用户点击视频按钮时
ReportManager.I.NewReportVideoUnable
视频按钮不可点击
ReportManager.I.NewReportVideoShow
视频按钮展示时,视频有填充
ReportManager.I.NewReportVideoNoAds
视频按钮展示时,视频无填充
ReportManager.I.NewReportVideoPlay
视频播放时
ReportManager.I.NewReportVideoSuccess
视频播放成功
ReportManager.I.NewReportVideoFail
视频播放失败
可以参考示例中的内容,来集成统计模块
统计接口的核心代码在 GameHelper.GameStatistics
中
大部分基础事件,如启动,时长,广告播放,崩溃等事件,SDK 内部都已做处理,部分和游戏玩法强关联的事件,需要 CP 在集成过程中自主上报。
SDK 封装了如下上报
上报模块 | 上报说明 | 上报条目 | 说明 |
---|---|---|---|
玩法类上报 | 玩法首次开始 | start_first | SDK 自动处理 |
玩法开始 | start | ||
玩法进行中 | gaming | ||
模式上报 | 模式开始 | mode_start | SDK 自动处理 |
模式进行中 | mode_gaming | ||
关卡类上报 | 关卡开始 | game_start | StartGame 接口控制 |
关卡时长 | level_gaming | SDK 自动处理 | |
关卡离开 | game_quit | QuitGame 接口控制 | |
关卡进度变化 | game_progress | ProgressGame 接口控制 | |
关卡犯规 | game_foul | FoulGame 接口控制 | |
关卡复活 | game_revive | AliveGame 接口控制 | |
关卡失败 | game_fail | FailGame 接口控制 | |
关卡过关 | game_complete | SuccessGame 接口控制 | |
关卡平局 | game_draw | DrawGame 接口控制 | |
关卡跳过 | game_skip | SkipGame 接口控制 | |
激励视频上报 | 视频按钮不可用 | video_unable | 由 AdsVideoManager 自动上报 |
视频按钮无广告 | video_noAds | 不报 | |
视频按钮曝光 | video_show | 不报 | |
视频点击 | video_click | AdsVideoManager 自动上报 | |
视频播放完毕 | video_success | AdsVideoManager 自动上报 | |
视频播放退出 | video_fail | AdsVideoManager 自动上报 | |
视频播放开始 | video_play | AdsVideoManager 自动上报 | |
内购 | 内购展示 | pay_show | ShowPay |
内购点击 | pay_click | ClickPay | |
内购失败 | pay_fail | PayFail | |
内购成功 | pay_success | PaySuccess | |
点击恢复 | resume_request | ClickRestoreBuy | |
恢复成功 | resume_success | RestoreSuccess | |
道具 | 获取物品 | item_get | GetItem |
消耗物品 | item_cost | CostItem | |
使用物品 | item_use | UseItem |
玩法统计
玩法统计从大到小分为 3 个维度:玩法
、模式
、关卡
。每种维度均提供了进入和退出的接口。
一般而言玩法统计为必备项目,游戏在正确的时机调用相关接口即可。
案例讲解
假设有一个游戏叫"开心拍一拍
",其只有一个本体主玩法(点击主页的开始游戏就会进入),与对接人员确认后其玩法名为KXPYP
。主玩法有两种模式"闯关
"和"每日挑战
",与对接人员确认后模式名分别为"cg
"和"mrtz
"。每种模式都有 100 关。

SDK 隐私初始化完成后,此时预加载页面的所有元素展示,玩家还未点击进入游戏。
玩家点击进入游戏,或游戏自动跳转游戏首页,调用
EnterHome
接口。由于游戏为单玩法,主页等同于玩法主界面,再调用EnterGame
接口,并传入玩法名KXPYP
游戏首页有两个模式选择按钮,点击任意模式后会进入关卡选择界面。假设玩家点击了闯关模式,调用
EnterMode
接口,传入模式名cg
玩家选择了第 50 关,程序即将进入游玩场景,此时调用
StartGame
接口,传入关卡编号50
,模式名cg
在 level 层级下(也就是游玩场景),针对玩家的操作调用专门的接口。
游戏暂停
PauseGame
游戏继续
ContinueGame
游戏复活
AliveGame
关卡跳过
SkipGame
游戏进度变化
ProgressGame
游戏通关
SuccessGame
游戏失败
FailGame
游戏平局
DrawGame
游戏犯规
FoulGame
请注意,无论游戏以何种形式重新开始时,都需要调用StartGame
假设玩家得分 999,并中途退出游戏,退回选关界面。调用
QuitGame
接口,传入关卡分数999
退回游戏首页
先调用
ExitMode
接口因为退回了游戏首页,再调用
EnterHome
接口由于游戏为单玩法,主页等同于玩法主界面,最后调用
EnterGame
接口,并传入玩法名KXPYP
FAQ:
如果没有模式的概念
请首先与对接人员确认,分配一个模式名。如果对接人员未分配,则使用"
wujin
"相当于进入玩法时直接进入了模式。在调用
EnterGame
时,顺带调用EnterMode
。
如果没有关卡的概念,关卡编号填 0
如果没有分数的概念,分数填-1
Cocos Creator & Laya 游戏常规接口
PAUSE_STATE
暂停原因的枚举
POPUP
:默认值,弹窗暂停ADS
:广告暂停BACKGROUND
:前后台暂停PROGRESS
:关卡进度,从有进度的游戏回来
EnterHome
进入游戏首页时调用(一般为第一个统计事件), 回到首页也调用一次
逻辑方法 可能上报 mode_gaming 和 gaming 事件
javascript
GameHelper.GameStatistics.EnterHome();
EnterGame
进入游戏玩法时调用
逻辑方法 会上报 start 事件 可能上报 start_first
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sGameName | string | / | 是 | 玩法名 |
javascript
GameHelper.GameStatistics.EnterGame("KXPYP");
EnterMode
进入玩法下的游戏模式时调用
会上报 mode_start 可能上报 mode_gaming
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sModeName | string | / | 是 | 模式名。如果游戏没有分模式的话, 填写 wujin 即可 |
javascript
GameHelper.GameStatistics.EnterMode("cg");
StartGame
进入游玩场景时调用
上报 game_start 事件
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
model_level | number | / | 是 | 关卡编号,如果当前模式没有关卡概念可填 0 |
sModeName | string | / | 是 | 模式名。如果游戏没有分模式的话, 填写 wujin |
javascript
GameHelper.GameStatistics.StartGame(50, "cg");
QuitGame
离开游玩场景时调用
上报 game_quit
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | / | 是 | 如果有分数概念则根据策划要求上传,没有则填-1 |
javascript
GameHelper.GameStatistics.QuitGame(999);
ExitMode
离开当前模式时调用
可能上报 mode_gaming
javascript
GameHelper.GameStatistics.ExitMode();
PauseGame
游戏暂停时调用(仅限用户主动操作时上报),常见于打开暂停页或者其他弹窗导致游戏进程暂停
上报 game_pause
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 暂停时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
state | PAUSE_STATE | PAUSE_STATE.POPUP | 否 | 导致暂停的原因. 不填则默认为 PAUSE_STATE.POPUP |
javascript
GameHelper.GameStatistics.PauseGame(123);
ContinueGame
游戏继续时调用. 得调用PauseGame
后调用ContinueGame
才生效
上报 game_continue
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
model_level | number | / | 是 | 关卡编号,如果当前模式没有关卡概念可填 0 |
sModeName | number | / | 是 | 模式名。如果游戏没有分模式的话, 填写 wujin |
state | PAUSE_STATE | PAUSE_STATE.POPUP | 否 | 导致暂停的原因. 不填则默认为 PAUSE_STATE.POPUP |
javascript
GameHelper.GameStatistics.ContinueGame(50, "cg");
AliveGame
游戏复活时调用
上报 game_revive
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 复活时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.AliveGame(123);
SkipGame
跳过关卡时调用
上报 game_skip
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 跳关时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.SkipGame(123);
SuccessGame
游戏成功时调用
上报 game_complete
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 游戏成功时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.SuccessGame(123);
FailGame
游戏失败时调用
上报 game_fail
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 游戏失败时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.FailGame(123);
DrawGame
游戏平局时调用
上报 game_draw
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 游戏平局时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.DrawGame(123);
ProgressGame
游戏进度变化时调用,这个根据策划要求调用,当游戏进科程中有游戏进度相关的数据需要上报时可以使用
上报 game_progress
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
opt | param | -1 | 否 | 游戏平局时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
param
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
mode_level_progress | number | / | 否 | 游戏关卡进度,该数据含义不固定,根据策划需求定义 |
mode_level_score | number | / | 否 | 游戏分数变化,该数据含义不固定,根据策划需求定义 |
javascript
GameHelper.GameStatistics.ProgressGame({
mode_level_progress: 50,
mode_level_score: 6,
});
FoulGame
游戏犯规时调用
上报 game_foul
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iScores | number | -1 | 否 | 游戏犯规时的分数。如果有分数概念则根据策划要求上传,没有则不传 |
javascript
GameHelper.GameStatistics.FoulGame(123);
道具统计
仅在游戏有道具系统,且与对接同事确认后需要进行统计时,才进行调用。
每个道具需要区分清楚,它是否为一次性物品(用了就消耗了,导致其数量减少,例如货币),如果无数量限制则为永久物品。
EItemType1
物品类型枚举:
EItemType1\_CURRENCY
:货币EItemType1\_PROP
:道具EItemType1\_SKIN
:皮肤
GetItem
获取物品时调用
上报 item_get
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iItemId | number | / | 是 | 物品 id,最好游戏中有一个枚举来列举所有的物品 |
iItemType1 | EItemType1 | / | 是 | 物品枚举, 必须使用 EItemType1 枚举 |
iCount | number | / | 是 | 物品变化量,是一个>=0 的值。需要注意的是即使消耗物品导致了物品数量减少,iCountt 也应该是>-1 的。 |
iRemainCount | number | / | 是 | 物品变化后的数据,是一个>-1 的值 |
sItemGame | number | / | 是 | 获取物品的玩法名称 |
iItemType2 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
iItemType3 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
示例:开心拍一拍的金币,其物品 id 为 1。过去为 100,看了视频广告获得了 100 枚,现在为 200 枚。
javascript
GameHelper.GameStatistics.GetItem(1, GameHelper.GameStatistics.EItemType1.EItemType1_CURRENCY, 100, 200, "KXPYP");
CostItem
玩家消耗(有次数限制的)物品时调用
上报 item_cost
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iItemId | number | / | 是 | 物品 id,最好游戏中有一个枚举来列举所有的物品 |
iItemType1 | EItemType1 | / | 是 | 物品枚举, 必须使用 EItemType1 枚举 |
iCount | number | / | 是 | 物品变化量,是一个>=0 的值。需要注意的是即使消耗物品导致了物品数量减少,iCount 也应该是>-1 的。 |
iRemainCount | number | / | 是 | 物品变化后的数据,是一个>-1 的值 |
sItemGame | number | / | 是 | 获取物品的玩法名称 |
iItemType2 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
iItemType3 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
示例:开心拍一拍的金币,其物品 id 为 1。现在为 200 枚,重试道具花费 150 枚,此时还剩 50 枚。
javascript
GameHelper.GameStatistics.CostItem(1, GameHelper.GameStatistics.EItemType1.EItemType1_CURRENCY, 150, 50, "KXPYP");
UseItem
玩家使用(无次数限制的)物品时调用
上报 item_use
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
iItemId | number | / | 是 | 物品 id,最好游戏中有一个枚举来列举所有的物品 |
iItemType1 | EItemType1 | / | 是 | 物品枚举, 必须使用 EItemType1 枚举 |
sItemGame | number | / | 是 | 获取物品的玩法名称 |
iItemType2 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
iItemType3 | number | / | 否 | 物品类型 2,根据需求提供,不需要可以传-1 |
示例:开心拍一拍解锁了一款皮肤,玩家可不限次使用,玩家换上了该皮肤
javascript
GameHelper.GameStatistics.UseItem(1, GameHelper.GameStatistics.EItemType1.EItemType1_SKIN, "KXPYP");
引导统计
仅在游戏有引导系统,且与对接同事确认后需要进行统计时,才进行调用。一般引导分为:开始、阶段步骤、结束三个阶段,请依次调用GuideStart
、GuideStep
、GuideOver
接口即可。
GuideStart
引导开始时调用
上报 guide_start
javascript
GameHelper.GameStatistics.GuideStart();
GuideStep
引导进度每次发生变化时调用。引导的进度编号,具体含义和策划确定
上报 guide_step
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
guide_id | number | \ | 是 | 引导的进度编号,具体含义和策划确定 |
javascript
GameHelper.GameStatistics.GuideStep(1);
GameHelper.GameStatistics.GuideStep(2);
GuideOver
引导结束时调用
上报 guide_over
javascript
GameHelper.GameStatistics.GuideOver();
活动统计
仅在游戏有活动系统,且与对接同事确认后需要进行统计时,才进行调用。
EActivityType
活动类型枚举:
UNLOCK
START
SUCCESS
FAIL
RESET
GIVEUP
REWARD
COMPLETE
WARMUP
ENTER
HandleActivity
处理活动的唯一接口.根据第一个参数 type 来区分类别
上报 activity 相关事件 activity_unlock activity_start activity_success activity_fail activity_reset activity_giveup activity_reward activity_complete activity_warmup activity_enter
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
type | EActivityType | / | 是 | 活动类型,必须使用EActivityType 枚举 |
sActivityName | string | / | 是 | 活动名 |
sActivityMode | string | / | 是 | 活动模块,注意和玩法中的 mode 没有直接关联 |
iActivityStepOld | number | / | 否 | 变化前的进度 |
iActivityStepNew | number | / | 否 | 变化后的进度 |
sActivityParam | string | / | 否 | 活动参数 |
javascript
GameHelper.GameStatistics.HandleActivity(GameHelper.GameStatistics.EActivityType.START, "actName", "actMode");
养成统计
仅在游戏有养成系统,且与对接同事确认后需要进行统计时,才进行调用。
EDevelopType
养成类型枚举:
TRAIL
:试用UNLOCK
:解锁LEVELUP
:升级USE
:使用
HandleDevelop
处理养成的唯一接口. 根据第一个参数 type 来区分类别
上报 develop 相关事件 develop_trail develop_unlock develop_levelup develop_use
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
type | EDevelopType | / | 是 | 养成类型,必须使用EDevelopType 枚举 |
develop_type | string | / | 是 | 养成一级分类,可自定义命名 |
develop_lv | number | / | 是 | 养成后等级 |
develop_cost | string | / | 是 | 养成消耗类型 比如花费金币养成 |
develop_type2 | string | / | 否 | 养成二级分类,可自定义命名 |
develop_type3 | string | / | 否 | 养成三级分类,可自定义命名 |
javascript
GameHelper.GameStatistics.HandleDevelop(GameHelper.GameStatistics.EDevelopType.UNLOCK, "test", 0, "icon");
广告统计
ClickVideo
废弃 使用 AdsVideoManager 播放视频将不再需要游戏统计
点击视频按钮的时候统计
上报 video_click
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sVideoName | string | / | 是 | 视频点名称 |
javascript
GameHelper.GameStatistics.ClickVideo(videoName);
StartPlayVideo
废弃 使用 AdsVideoManager 播放视频将不再需要游戏统计
开始播放视频时候统计,视频播放接口showVideoStatic
有一个返回值,返回 true 表示播放成功(即调用了平台视频播放接口),false 表示播放不成功,可以返回 true 的时候统计
上报 video_play
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sVideoName | string | / | 是 | 视频点名称 |
javascript
GameHelper.GameStatistics.StartPlayVideo(videoName);
PlayedVideoOver
废弃 使用 AdsVideoManager 播放视频将不再需要游戏统计
播放视频成功,可以在视频接口的 success 中统计
上报 video_success
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sVideoName | string | / | 是 | 视频点名称 |
javascript
GameHelper.GameStatistics.PlayedVideoOver(videoName);
PlayedVideoFail
废弃 使用 AdsVideoManager 播放视频将不再需要游戏统计
播放视频失败,可以在视频接口的 fail 回调中统计
上报 video_fail
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
sVideoName | string | / | 是 | 视频点名称 |
javascript
GameHelper.GameStatistics.PlayedVideoFail(videoName);
trackVideo
废弃 使用 AdsVideoManager 播放视频将不再需要游戏统计
GameHelper.GameStatistics.trackVideo()
上报视频广告点情况: 1-创建 2-成功 3-点击
注意此统计的逻辑,每个视频按钮代表一个视频点,视频按钮展示了代表创建 视频拉取到表示成功 点击视频按钮代表 点击
视频状态监听可以查看 GameHelper.AdsFunc.onVideoStatusChange()
例子:比如当前界面有五个视频按钮,则要统计五次trackVideo(1)
,当监听到视频拉取到则要统计五次trackVideo(2)
, 点击一次按钮就要统计一次trackVideo(3)
。当看完一个视频后(包括正常看完和中途退出,可以利用视频接口的 success fail 回调)所有状态都要重置,此时如果还是 5 个视频按钮则又要统计五次trackVideo(1)
,拉取到视频后统计五次trackVideo(2)
支付统计
GameHelper.GameStatistics.ShowPay(
sPayName
);
说明:展示支付按钮时调用
参数:sPayName,支付点名字
返回值:void
上报 pay_show 事件
GameHelper.GameStatistics.ClickPay(
sPayName
);
说明:点击支付按钮时调用
参数:sPayName,支付点名字
返回值:void
上报 pay_click 事件
GameHelper.GameStatistics.PayFail(
sPayName
);
说明:支付失败时调用
参数:sPayName,支付点名字
返回值:void
上报 pay_fail 事件
GameHelper.GameStatistics.ClickRestoreBuy(
sPayName
);
说明:点击恢复购买时调用
参数:sPayName,支付点名字
返回值:void
上报 resume_request 事件
GameHelper.GameStatistics.RestoreSuccess(
sPayName
);
说明:恢复购买成功时调用
参数:sPayName,支付点名字
返回值:void
上报 resume_success 事件
自定义统计接口
如果游戏需要上报自定义事件,并附加自定义属性,请使用reportEvent
接口。
请注意:
事件名需与对接人员确认
事件属性必须为对象,且需与对接人员确认。如果没有事件属性,传入空对象即可
reportEvent(eventname, prop)
参数 | 类型 | 默认值 | 是否必填 | 说明 |
---|---|---|---|---|
eventname | string | / | 是 | 事件名 |
prop | object | / | 是 | 事件参数 |
javascript
GameHelper.GameStatistics.reportEvent("name2", {});
GameHelper.GameStatistics.reportEvent("name1", { param1: 100, param2: "abc" });
点我快速对接


