From cd5f2a5156d56f43a2e044375255b88193e6473a Mon Sep 17 00:00:00 2001 From: 宋庆平 Date: Mon, 20 Jun 2022 19:28:56 +0800 Subject: [PATCH] 300s关键行为打点 --- sdk/Analytics.ts | 5 ----- sdk/SDKTools.ts | 4 ++++ wxsdk/base/SDKConst.ts | 1 + wxsdk/http/SDKApi.ts | 2 ++ wxsdk/http/SDKHttp.ts | 2 +- wxsdk/lib/sdk.d.ts | 3 ++- wxsdk/service/DataService.ts | 28 +++++++++++++++++++++++++--- wxsdk/service/GameService.ts | 35 ++++++++++++++++++----------------- wxsdk/service/LogService.ts | 31 +++++++++++++++++++++++++++---- wxsdk/service/entity/SdkData.ts | 2 ++ wxsdk/utils/SignUtils.ts | 2 +- wxsdk/wx/WxLogin.ts | 5 +++-- 12 files changed, 86 insertions(+), 34 deletions(-) diff --git a/sdk/Analytics.ts b/sdk/Analytics.ts index 8e3e55d..7cc8ff7 100644 --- a/sdk/Analytics.ts +++ b/sdk/Analytics.ts @@ -29,10 +29,6 @@ export class Analytics { loadingFinish() { return WXSDK.stat.loadingFinish(); } - // 用户停留30s打点 - stay(time) { - return WXSDK.stat.stay(time) - } // 关键行为 behaviors() { return WXSDK.stat.behaviors() @@ -93,5 +89,4 @@ export class Analytics { } export enum EventKey { - } diff --git a/sdk/SDKTools.ts b/sdk/SDKTools.ts index c871d8b..187b09c 100644 --- a/sdk/SDKTools.ts +++ b/sdk/SDKTools.ts @@ -358,6 +358,10 @@ export class SDKTools { static behavior() { return WXSDK.game.behavior() } + //修改用户属性 ptm 是否累计玩游戏300秒,1是 + static attributePtm() { + return WXSDK.stat.attributePtm() + } } diff --git a/wxsdk/base/SDKConst.ts b/wxsdk/base/SDKConst.ts index 7c8c782..72fe49a 100644 --- a/wxsdk/base/SDKConst.ts +++ b/wxsdk/base/SDKConst.ts @@ -95,6 +95,7 @@ export const HostKeys = { totalrankList: 'game/totalrank/list', //世界排行榜 adList: 'api/adplan/list', //广告计划列表 behavior: 'api/douyin/behavior', //抖音投放关键行为 + attribute: 'api/member/attribute/set', //修改用户属性 //订单 orderReport: 'api/order/v2/mimas', //订单信息上报 diff --git a/wxsdk/http/SDKApi.ts b/wxsdk/http/SDKApi.ts index 2ac8119..9827a0b 100644 --- a/wxsdk/http/SDKApi.ts +++ b/wxsdk/http/SDKApi.ts @@ -28,6 +28,8 @@ export class SDKApi { public static adList = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.adList}`, ...args); // public static behavior = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.behavior}`, ...args); + //修改用户属性 + public static attribute = (...args) => SDKHttp.httpPost(`${DataService.I.GameApi}${HostKeys.attribute}`, ...args); //LoginApi diff --git a/wxsdk/http/SDKHttp.ts b/wxsdk/http/SDKHttp.ts index faa4ac5..f44b3e6 100644 --- a/wxsdk/http/SDKHttp.ts +++ b/wxsdk/http/SDKHttp.ts @@ -25,7 +25,7 @@ export default class SDKHttp { if (data && typeof data === "object") { data = JSON.stringify(data); } - //console.error("sign", url, JSON.stringify(data)) + // console.error("sign", url, JSON.stringify(data)) data = data || ""; if (method == "GET" && data != "") { data = JSON.parse(data); diff --git a/wxsdk/lib/sdk.d.ts b/wxsdk/lib/sdk.d.ts index 06e772f..170b55f 100644 --- a/wxsdk/lib/sdk.d.ts +++ b/wxsdk/lib/sdk.d.ts @@ -383,7 +383,8 @@ interface _LoginInnerData { isnew?:number logindays?:number amount?:number, - pon?:number + pon?:number, + ptm?:number } /** diff --git a/wxsdk/service/DataService.ts b/wxsdk/service/DataService.ts index b952828..f1af658 100644 --- a/wxsdk/service/DataService.ts +++ b/wxsdk/service/DataService.ts @@ -62,10 +62,13 @@ export default class DataService { this.setLogindays(data.logindays); if (data.hasOwnProperty('amount')) - this.setLogindays(data.amount); + this.setAmount(data.amount); if (data.hasOwnProperty('pon')) - this.setLogindays(data.pon); + this.setPon(data.pon); + + if (data.hasOwnProperty('ptm')) + this.setPtm(data.ptm); } @@ -96,14 +99,33 @@ export default class DataService { return this; } + setAmount(val: any) { + this.setValue('amount', val); + return this; + } + get amount() { return this._data.amount; } - + + setPon(val: any) { + this.setValue('pon', val); + return this; + } + // 用户类型:1微信投放2抖音3自然量0未知 get pon() { return this._data.pon; } + setPtm(val: any) { + this.setValue('ptm', val); + return this; + } + + // 300s用户判断 + get ptm() { + return this._data.ptm; + } get Scene() { diff --git a/wxsdk/service/GameService.ts b/wxsdk/service/GameService.ts index 7405444..5b9c2eb 100644 --- a/wxsdk/service/GameService.ts +++ b/wxsdk/service/GameService.ts @@ -1,6 +1,6 @@ import DataService from "./DataService"; import { SDKApi } from "../http/SDKApi"; -import { GAMEDATA, __LOG__ } from "../base/SDKConst"; +import { GAMEDATA, SDKVersion, __LOG__ } from "../base/SDKConst"; import WxLogin from "../wx/WxLogin"; import WxApi from "../wx/WxApi"; import WxPay from "../wx/WxPay"; @@ -62,22 +62,6 @@ export default class GameService { adList(adtyp) { return SDKApi.adList({ adtyp, uid: DataService.I.UserId, token: DataService.I.Token }) } - /** - * 抖音投放关键行为打点 - */ - behavior() { - - let gameid = GAMEDATA.game_id; - let uid = DataService.I.UserId; - let token = DataService.I.Token; - let openid = DataService.I.OpenId; - return SDKApi.behavior({ - openid, - gameid, - uid, - token - }) - } subScribe(tmplIds: Array, ids: Array): Promise { @@ -175,6 +159,23 @@ export default class GameService { }; } + /** + * 抖音投放关键行为打点 + */ + behavior() { + let gameid = GAMEDATA.game_id; + let uid = DataService.I.UserId; + let token = DataService.I.Token; + let openid = DataService.I.OpenId; + return SDKApi.behavior({ + openid, + gameid, + uid, + token + }) + } + + /** * 构建登录/弱登录公用参数 diff --git a/wxsdk/service/LogService.ts b/wxsdk/service/LogService.ts index a55e080..cfcab3a 100644 --- a/wxsdk/service/LogService.ts +++ b/wxsdk/service/LogService.ts @@ -221,7 +221,7 @@ export default class LogService { ...this.buildParams() }) this.checkLogin(fun); - // 30秒及时 + // 30秒 计时 和 300秒计时 打点 this.startStay() } @@ -299,11 +299,16 @@ export default class LogService { newUserTime++; StorageUtils.I.set("newUserTime", newUserTime) let newUserDot = StorageUtils.I.get("newUserDot") || 0; - if (newUserDot === 1) clearInterval(this.stayInterval); + if (newUserDot === 2) clearInterval(this.stayInterval); // console.log("newUserTime", newUserTime, newUserDot) - if (newUserTime >= 30) { + if (newUserTime >= 30 && newUserDot == 0) { StorageUtils.I.set("newUserDot", 1); this.loadingFinishStay(30); + } + if (newUserTime >= 300) { + StorageUtils.I.set("newUserDot", 2); + // this.loadingFinishStay(300);// 300秒计时 + this.attributePtm(); clearInterval(this.stayInterval); } } @@ -318,6 +323,22 @@ export default class LogService { } this.checkLogin(fun); } + /** + * 修改用户属性 ptm 是否累计玩游戏300秒,1是 + * @returns + */ + attributePtm() { + let pkv = SDKVersion; + let uid = DataService.I.UserId; + let token = DataService.I.Token; + return SDKApi.attribute({ + pkv, + uid, + token, + ptm: 1 + }) + } + /** * 用户停留30s打点 2021-1-6 废弃 @@ -474,6 +495,7 @@ export default class LogService { let logindays = DataService.I.logindays; let amount = DataService.I.amount; let pon = DataService.I.pon; + let ptm = DataService.I.ptm; return { gameid, channel, @@ -490,7 +512,8 @@ export default class LogService { logindays, amount, pon, - pkv + pkv, + ptm }; } diff --git a/wxsdk/service/entity/SdkData.ts b/wxsdk/service/entity/SdkData.ts index 9a668c7..e9072df 100644 --- a/wxsdk/service/entity/SdkData.ts +++ b/wxsdk/service/entity/SdkData.ts @@ -39,6 +39,7 @@ export default class SdkData { public logindays: number; // 登录天数 public amount: number; // 充值金额 public pon: number; // 用户类型:1微信投放2抖音3自然量0未知 + public ptm:number; public cule_token: string; // 用户通过广告调起微信小游戏的唯一编码 public creative_id: string; //创意ID public advertister_id: string; //广告账户ID @@ -83,6 +84,7 @@ export default class SdkData { this.logindays = 0; this.amount = 0; this.pon = 0; + this.ptm = 0; this.cule_token =''; this.creative_id =''; this.advertister_id =''; diff --git a/wxsdk/utils/SignUtils.ts b/wxsdk/utils/SignUtils.ts index 4d60431..dbeea21 100644 --- a/wxsdk/utils/SignUtils.ts +++ b/wxsdk/utils/SignUtils.ts @@ -11,7 +11,7 @@ export default class SignUtils { createSign(params: any) { let signStr = this.createQuery(params) + '' + GAMEDATA.appkey; - //console.error("signStr",signStr) + // console.error("signStr",signStr) return Md5.hashStr(signStr); } diff --git a/wxsdk/wx/WxLogin.ts b/wxsdk/wx/WxLogin.ts index 9e879e3..5776fcc 100644 --- a/wxsdk/wx/WxLogin.ts +++ b/wxsdk/wx/WxLogin.ts @@ -94,7 +94,7 @@ export default class WxLogin { if (data) { // 设置登录信息 if (data.data) { - let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig,logindays,amount,pon } = data.data; + let { channel, uid, firstlogin, token, reftoken, openid, expire, isnew, gameconfig,logindays,amount,pon,ptm } = data.data; LogService.I.setLogind({ channel, userId: uid, @@ -106,7 +106,8 @@ export default class WxLogin { expire, logindays, amount, - pon + pon, + ptm }); OnlineService.I.setData(gameconfig) LogService.I.active(); -- libgit2 0.21.0