# 启动注册打点 ------ #### **简介** 启动注册打点上报用户注册活跃数据,噗嗤管理后台为游戏提供用户数据统计:实时获取活跃、新增用户数、打开次数、在线时长......;注册转化统计。 #### **后台使用** 完成启动注册打点后,登录后台->头部tab切换到【游戏数据】->【产品分析】->【实时数据】即可实时查看用户活跃、新增等信息: ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_008.png) 点击【注册转化】可查看列表式显示新增、注册、加载完成等详细信息: ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_009.png) #### **接入API:** | **名称** | **功能说明** | | ------------------------ | ------------------------------------------------------------ | | PCSDK.stat.loadingFinish | 加载游戏资源完成时打点,不是微信代码包白屏加载完成。例如:游戏加载完成游戏ui界面图、json资源等 | | PCSDK.stat.setLogind | 设置SDK必须要使用的用户id、第一次创建角色的注册时间(时间戳转换,单位秒),游戏接入方登录游戏服务器后调用 | | PCSDK.stat.active | 用户活跃/新增注册上报,切记在setLogind设置需要的信息过后使用(设置setLogind后此api不限于使用位置),不然会导致新增注册数据统计异常 | 1. **loadingFinish** ```javascript PCSDK.stat.loadingFinish(): void ``` 定义:加载游戏资源完成时打点,不是微信代码包白屏加载完成。例如:游戏加载完成游戏ui界面图、json资源等 参数: ``` 无 ``` 示例: ```javascript 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) + '%'; } ``` 2. **setLogind**
```javascript PCSDK.stat.setLogind( data: object ): void ``` 定义:游戏成功登录到服务器后得到用户信息:用户id和用户第一次注册时间(时间戳转换,单位秒),设置SDK必需的用户信息 参数: ```javascript data: object { userId: string | number 必传,用户唯一标识id regTime: number 必传,用户第一次创建角色的注册时间(时间戳转换,单位秒) } ``` 示例:游戏登录游戏服务器后,获取用户信息(用户id和用户第一次注册时间)后进行打点。该示例,只是模拟使用环境。 ```javascript // 发起登录请求成功后,得到用户信息:user_id、user_reg_time,调用setLogind设置SDK必需的用户信息。 Api.login().then( data => { let { user_id, user_reg_time } = data; PCSDK.stat.setLogind({ userId: data.user_id, regTime: data.user_reg_time // 用户第一次注册时间,时间戳,单位秒 }); }); ``` 3. **active** ```javascript PCSDK.stat.active(): void ``` 定义:用户活跃/新增注册上报,切记在使用setLogind设置用户信息后调用此接口,不然会导致新增注册数据统计异常 参数: ```javascript 无 ``` 示例: ```javascript // 使用场景1:发起登录请求,得到用户信息,调用setLogind设置SDK用户信息后立即调用active Api.login().then( data => { let { user_id, user_reg_time } = data; // 设置用户信息 PCSDK.stat.setLogind({ userId: data.user_id, // 用户id regTime: data.user_reg_time // 用户第一次注册时间,时间戳,单位秒 }); // 用户活跃注册打点 PCSDK.stat.active(); }); // 使用场景2:发起登录请求,得到用户数据信息,调用setLogind设置SDK用户信息。在其他界面调用active // 资源加载loading界面 class LoadingScene(){ constructor(){ this.login(); } private login(){ // 登录 Api.login().then( data => { let { user_id, user_reg_time } = data; // 设置用户信息 PCSDK.stat.setLogind({ userId: data.user_id, // 用户id regTime: data.user_reg_time // 用户第一次注册时间,时间戳,单位秒 }); // 进入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); } } ```