主题
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" });点我快速对接



›
‹