# 启动注册打点 ------ #### **简介** 启动注册打点上报用户注册活跃数据,噗嗤管理后台为游戏提供用户数据统计:实时获取活跃、新增用户数、打开次数、在线时长......;注册转化统计。 #### **后台使用** 完成启动注册打点后,登录后台->头部tab切换到【游戏数据】->【产品分析】->【实时数据】即可实时查看用户活跃、新增等信息: ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_008.pn "🔍点击查看大图") 点击【注册转化】可查看列表式显示新增、注册、加载完成等详细信息: ![sdk文件目录结构](https://dep.miso-lab.com/sdkword/sdk_009.png "🔍点击查看大图") #### **接入API:** | **名称** | **功能说明** | | ------------------------ | ------------------------------------------------------------ | | PCSDK.stat.loadingFinish | 加载游戏资源完成时打点,不是微信代码包白屏加载完成,游戏loading自身cdn资源加载完成调用 | | PCSDK.stat.setLogind | 设置sdk必须要使用的用户id、第一次创建角色的注册时间,游戏接入方登录游戏服务器后调用 | | PCSDK.stat.active | 用户活跃/新增注册上报,切记在setLogind设置需要的信息过后使用(不限于使用位置),不然会导致新增注册数据统计异常 | 1. **loadingFinish** ```javascript PCSDK.stat.loadingFinish(): void ``` 定义:加载游戏加载资源完成时打点 参数: ``` 无 ``` 示例:加载完成游戏主界面图片、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() { 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 必传,用户第一次创建角色的注册时间戳 } ``` 示例:游戏登录完成后,获取用户信息后进行打点(该示例,只是模拟使用环境) ```javascript // 发起登录请求,得到登录数据信息,调用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, 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, 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); } } ```