stat.md
7.4 KB
fafd085a450666461a6fe48140c13a4dd926d30c/outer/stat.md#">启动注册打点
fafd085a450666461a6fe48140c13a4dd926d30c/outer/stat.md#">简介
启动注册打点上报用户注册活跃数据,噗嗤管理后台为游戏提供用户数据统计:实时获取活跃、新增用户数、打开次数、在线时长......;注册转化统计。
fafd085a450666461a6fe48140c13a4dd926d30c/outer/stat.md#">后台使用
完成启动注册打点后,登录后台->头部tab切换到【游戏数据】->【产品分析】->【实时数据】即可实时查看用户活跃、新增等信息:
点击【注册转化】可查看列表式显示新增、注册、加载完成等详细信息:
接入API:
名称 | 功能说明 |
---|---|
PCSDK.stat.setLoginInfo | 设置SDK必须要使用的openId、第一次创建角色的注册时间(时间戳转换,单位秒),游戏接入方登录游戏服务器后调用 |
PCSDK.stat.loadingFinish | 加载游戏资源完成时打点,例如:游戏加载完成游戏ui界面图、json资源等(不是微信代码包白屏加载完成) |
PCSDK.stat.active | 用户活跃/新增注册上报,切记在loadingFinish完成后调用,不然会导致新增注册数据统计异常 |
接入流程图:
- setLoginInfo
javascript PCSDK.stat.setLoginInfo( data: object ): void
定义:游戏成功登录到服务器,获取到openId和用户信息:openId和用户第一次注册的时间(时间戳转换,单位秒),设置SDK必需的用户信息
参数:
data: object
{
openId: string 必传,openId
regTime: number 必传,用户第一次创建角色的注册时间(时间戳转换,单位秒)
}
返回值:
无
示例:游戏登录游戏服务器后,获取到用户openId和用户第一次创建角色的注册时间。 该示例,只是模拟使用环境。
// 发起登录请求成功后,得到用户信息:user_openid、user_reg_time,调用setLoginInfo设置SDK必需的用户信息。
Api.login().then( data => {
let { user_openid, user_reg_time } = data;
PCSDK.stat.setLogind({
openId: user_openid, // openId
regTime: user_reg_time // 用户第一次注册时间,时间戳,单位秒
});
});
- loadingFinish
PCSDK.stat.loadingFinish(): Promise<any>
定义:加载游戏资源完成时打点,例如:游戏加载完成游戏ui界面图、json资源等(不是微信代码包白屏加载完成)
参数:
无
返回值:
Promise<any>
Promise resolve 加载打点成功完成回调
示例:
private async initEnv() {
await SDKTools.env(Const.VERSION);
this.loadRes();
this.loadLogin();
}
// 开始加载资源
private loadRes() {
LoaderManager.I.setCallback(this.onLoadedMain, this.onProgressMain, null, this).loadMain();
}
// 资源加载完成
private onLoadedMain() {
// 打点:loadingFinish
PCSDK.stat.loadingFinish();
}
// 更新资源加载进度条
private onProgressMain(ret) {
let progress = ret.data;
this.skin.txtProgress.text = Math.floor(progress * 100) + '%';
}
- active
PCSDK.stat.active(): void
定义:用户活跃/新增注册上报,切记在loadingFinish完成后调用,不然会导致新增注册数据统计异常。active有两种使用方式: 1)、loadingFinish完成后,立即调用active,适用于轻度、休闲游戏。
2)、loadingFinish,不调用active,在其他界面开始游戏 or 创建角色完成后再调用,适用于重度游戏。
参数:
无
返回值:
void
无
示例:
// 使用场景1:发起登录请求,得到用户数据信息,资源加载完成后跳转到其他界面,立即调用active
// 资源加载loading界面
class LoadingScene(){
constructor(){
// 登录
this.login();
// 加载资源
this.loadResouce();
}
/**
* 登录
*/
private login(){
Api.login().then( data => {
let { user_openid, user_reg_time } = data;
// 打点:设置用户信息
PCSDK.stat.setLoginInfo({
openId: user_openid, // openId
regTime: user_reg_time // 用户第一次注册时间,时间戳,单位秒
});
});
}
/**
* 加载资源
*/
private loadResouce(){
LoaderManager.I.setCallback(this.onLoadedMain, this.onProgressMain, null, this).loadMain();
}
/**
* 加载资源完成回调监听
*/
private onLoadedMain(){
// 打点:加载资源完成
PCSDK.stat.loadingFinish().then( () => {
// 打点:用户活跃注册打点
PCSDK.stat.active();
// 进入home主页场景
SceneManager.I.switchScene(HomeScene);
});
}
}
// 使用场景2:发起登录请求,得到用户数据信息,资源加载完成后跳转到其他界面,在其他界面"开始游戏"调用active。
// 资源加载loading界面
class LoadingScene(){
constructor(){
// 登录
this.login();
// 加载资源
this.loadResouce();
}
/**
* 登录
*/
private login(){
Api.login().then( data => {
let { user_openid, user_reg_time } = data;
// 打点:设置用户信息
PCSDK.stat.setLoginInfo({
openId: user_openid, // openId
regTime: user_reg_time // 用户第一次注册时间,时间戳,单位秒
});
});
}
/**
* 加载资源
*/
private loadResouce(){
LoaderManager.I.setCallback(this.onLoadedMain, this.onProgressMain, null, this).loadMain();
}
/**
* 加载资源完成回调监听
*/
private onLoadedMain(){
// 打点:加载资源完成
PCSDK.stat.loadingFinish().then( () => {
// 进入home主页场景
SceneManager.I.switchScene(HomeScene);
});
}
}
// Home页面
class HomeScene(){
constructor(){
this.btnStarGame.on('click', this.onGame, this);
}
/**
* 按钮点击开始游戏
*/
private onGame(){
// 打点:用户活跃注册打点
PCSDK.stat.active();
// 进入游戏页面
SceneManager.I.switchScene(GameScene);
}
}