浏览代码

修改埋点

neo 1 年之前
父节点
当前提交
e5a91489b0

+ 47 - 23
common/utils/serverLogUtil.lua

@@ -33,22 +33,25 @@ local function l_add_active_user(uid)
33 33
 end
34 34
 
35 35
 -- 服务端事件埋点
36
-function root.logEvent(uid, version, channel, eventId, extraParams)
36
+function root.logEvent(uid, bandShareCode, version, channel, eventId, extraParams)
37 37
     local now = timeUtil.currentTime()
38 38
     local date = timeUtil.toDate(now)
39 39
     local dateStr = timeUtil.toString(now)
40
-    local data = {
41
-        date,
42
-        dateStr,
43
-        uid or "",
44
-        version or "",
45
-        channel or "",
46
-        eventId or "",
47
-        extraParams or ""
48
-    }
49
-    local dataStr = root.formatData(data)
50 40
 
51
-    writeServerLog("event", date, dataStr)
41
+    local cnt =
42
+        string.format(
43
+        "%s;%s;%s;%s;%s;%s;%s;%s",
44
+        tostring(date),
45
+        tostring(dateStr),
46
+        tostring(uid or ""),
47
+        tostring(bandShareCode or ""),
48
+        tostring(channel or 0),
49
+        tostring(version or ""),
50
+        tostring(eventId or ""),
51
+        tostring(extraParams or "")
52
+    )
53
+
54
+    writeServerLog("event", date, cnt)
52 55
 end
53 56
 
54 57
 -- 服务端资源埋点
@@ -75,21 +78,21 @@ function root.logResource(uid, eventId, itemId, resChgs, resResult, channel, ban
75 78
 end
76 79
 
77 80
 -- 服务端注册埋点
78
-function root.logRegister(uid, channel, version, machineType, uuid, udid, ip, userType)
81
+function root.logRegister(uid, bandShareCode, channel, version, machineType, uuid, udid, ip)
79 82
     local now = timeUtil.currentTime()
80 83
     local date = timeUtil.toDate(now)
81 84
     local dateStr = timeUtil.toString(now)
82 85
     local data = {
83 86
         date,
84
-        uid or "",
85 87
         dateStr,
88
+        uid or "",
89
+        bandShareCode or "",
86 90
         channel or "",
87 91
         version or "",
88 92
         machineType or "",
89 93
         uuid or "",
90 94
         udid or "",
91
-        ip or "",
92
-        userType or ""
95
+        ip or ""
93 96
     }
94 97
     local dataStr = root.formatData(data)
95 98
     -- 添加到每日活跃信息中
@@ -99,23 +102,23 @@ function root.logRegister(uid, channel, version, machineType, uuid, udid, ip, us
99 102
 end
100 103
 
101 104
 -- 服务端登录埋点
102
-function root.logLogin(uid, channel, version, machineType, operator, network, uuid, udid, ip, userType)
105
+function root.logLogin(uid, bandShareCode, channel, version, machineType, operator, network, uuid, udid, ip)
103 106
     local now = timeUtil.currentTime()
104 107
     local date = timeUtil.toDate(now)
105 108
     local dateStr = timeUtil.toString(now)
106 109
     local data = {
107 110
         date,
111
+        dateStr,
108 112
         uid or 0,
113
+        bandShareCode or "",
109 114
         channel or "",
110 115
         version or "",
111
-        dateStr,
112 116
         machineType or "",
113 117
         operator or "",
114 118
         network or "",
115 119
         uuid or "",
116 120
         udid or "",
117
-        ip or "",
118
-        userType or ""
121
+        ip or ""
119 122
     }
120 123
     local dataStr = root.formatData(data)
121 124
     -- 添加到每日活跃信息中
@@ -125,7 +128,7 @@ function root.logLogin(uid, channel, version, machineType, operator, network, uu
125 128
 end
126 129
 
127 130
 -- 服务端登出埋点
128
-function root.logLogout(uid, channel, runTimes, version, battleCount, items, isFinishGuide, guideStep)
131
+function root.logLogout(uid, bandShareCode, channel, version, runTimes)
129 132
     local now = timeUtil.currentTime()
130 133
     local date = timeUtil.toDate(now)
131 134
     local dateStr = timeUtil.toString(now)
@@ -134,9 +137,10 @@ function root.logLogout(uid, channel, runTimes, version, battleCount, items, isF
134 137
         date,
135 138
         dateStr,
136 139
         uid or "",
140
+        bandShareCode or "",
137 141
         channel or "",
138
-        runTimes or "",
139
-        version or ""
142
+        version or "",
143
+        runTimes or ""
140 144
     }
141 145
     local dataStr = root.formatData(data)
142 146
     -- 添加到每日活跃信息中
@@ -159,6 +163,7 @@ function root.logPay(playerInfo, orderInfo)
159 163
         dateStr,
160 164
         playerInfo.uid or "",
161 165
         playerInfo.bandShareCode or "",
166
+        playerInfo.channel or "",
162 167
         playerInfo.version or "",
163 168
         orderInfo.orderNo or "",
164 169
         orderInfo.pay or "",
@@ -172,4 +177,23 @@ function root.logPay(playerInfo, orderInfo)
172 177
     writeServerLog("pay", date, dataStr)
173 178
 end
174 179
 
180
+-- 绑定推广码
181
+function root.logBandShareCode(uid, bandShareCode, channel, version)
182
+    local now = timeUtil.currentTime()
183
+    local date = timeUtil.toDate(now)
184
+    local dateStr = timeUtil.toString(now)
185
+
186
+    local data = {
187
+        date,
188
+        dateStr,
189
+        uid or "",
190
+        bandShareCode or "",
191
+        channel or "",
192
+        version or ""
193
+    }
194
+    local dataStr = root.formatData(data)
195
+
196
+    writeServerLog("banding", date, dataStr)
197
+end
198
+
175 199
 return root

+ 7 - 0
dev/data/user.lua

@@ -29,6 +29,7 @@ function root:user_init_register_info(uid, info)
29 29
     moduleData:hset(uid, MODULE_NAME, "sysVer", info.sysVer or "")
30 30
     moduleData:hset(uid, MODULE_NAME, "deviceId", info.deviceId or "")
31 31
     moduleData:hset(uid, MODULE_NAME, "channel", info.channel)
32
+    moduleData:hset(uid, MODULE_NAME, "ip", info.ip)
32 33
 
33 34
     moduleData:hset(uid, MODULE_NAME, "phone", info.phone)
34 35
     moduleData:hset(uid, MODULE_NAME, "shareCode", info.shareCode)
@@ -87,6 +88,12 @@ function root:band_share_code(uid, sharecode)
87 88
         return false
88 89
     end
89 90
     moduleData:hset(uid, MODULE_NAME, "bandShareCode", sharecode)
91
+
92
+    local serverLogUtil = require("utils.serverLogUtil")
93
+    local channel = self:get_key_info(uid, "channel")
94
+    local version = self:get_key_info(uid, "version")
95
+    serverLogUtil.logBandShareCode(uid, sharecode, channel, version)
96
+
90 97
     return true
91 98
 end
92 99
 

+ 17 - 1
dev/modules/user.lua

@@ -2,8 +2,10 @@ local code = require("code")
2 2
 local util_player = require("utils.util_player")
3 3
 local util_global = require("utils.util_global")
4 4
 local util_3rd = require("utils.util_3rd")
5
+local serverLogUtil = require("utils.serverLogUtil")
5 6
 
6 7
 local playerData = require("data.player")
8
+local userData = require("data.user")
7 9
 
8 10
 local root = class("user", require("base.baseModule"))
9 11
 
@@ -73,7 +75,21 @@ function root:itf_update_band_share_code(role, msg)
73 75
         -- 邀请码不存在
74 76
         return code.SHARE_CODE.NOT_FOUND
75 77
     end
76
-    self:redis_update_key_info("bandShareCode", shareCode)
78
+    userData:band_share_code(self.uid, shareCode)
79
+    -- 再次输出玩家登录埋点,方便后台捕捉数据
80
+    serverLogUtil.logLogin(
81
+        self.uid,
82
+        shareCode,
83
+        self:redis_get_key_info("channel") or "",
84
+        self:redis_get_key_info("version") or "",
85
+        self:redis_get_key_info("sysVer") or "",
86
+        "",
87
+        "",
88
+        self:redis_get_key_info("uuid") or "",
89
+        self:redis_get_key_info("udid") or "",
90
+        self:redis_get_key_info("ip") or ""
91
+    )
92
+
77 93
     return code.OK
78 94
 end
79 95
 

+ 2 - 1
dev/utils/util_user.lua

@@ -23,8 +23,9 @@ function root:log_event(uid, keyEvent, cnt)
23 23
 
24 24
     local version = moduleData:get_version(uid)
25 25
     local channel = moduleData:get_channel(uid)
26
+    local bandShareCode = userData:get_key_info(uid, "bandShareCode")
26 27
 
27
-    serverLogUtil.logEvent(uid, version, channel, keyEvent, cnt)
28
+    serverLogUtil.logEvent(uid, bandShareCode, version, channel, keyEvent, cnt)
28 29
 end
29 30
 -- 埋点 - 资源变化
30 31
 function root:log_resource(uid, keyEvent, itemId, delta, total)

+ 12 - 0
nodes/game/lib/role.lua

@@ -1,6 +1,9 @@
1 1
 local dataMode = require "dataMode"
2
+local timeUtil = require("utils.timeUtil")
3
+local serverLogUtil = require("utils.serverLogUtil")
2 4
 
3 5
 local sessionData = require("data.session")
6
+local moduleData = require("data.module")
4 7
 
5 8
 local root = class("role")
6 9
 
@@ -59,6 +62,15 @@ function root:logout_modules()
59 62
         self[cname]:do_logout()
60 63
         self[cname]:backup_to_db()
61 64
     end
65
+    -- 埋点
66
+    local currTime = timeUtil.now(self.uid)
67
+    local loginTime = moduleData:hget_int(self.uid, "player", "loginTime")
68
+    loginTime = (not loginTime or loginTime == 0) and currTime or loginTime
69
+    local mins = currTime - loginTime
70
+    local bandShareCode = moduleData:hget(self.uid, "user", "bandShareCode")
71
+    local channel = moduleData:get_channel(self.uid)
72
+    local version = moduleData:get_version(self.uid)
73
+    serverLogUtil.logLogout(self.uid, bandShareCode or "", channel, version, mins)
62 74
     -- 删除玩家session信息
63 75
     sessionData:user_update_cluster_info(self.uid, "gate")
64 76
     sessionData:user_update_cluster_info(self.uid, "game")

+ 2 - 1
nodes/web/controllers/pay.lua

@@ -18,7 +18,8 @@ local function logPay(uid, orderAction)
18 18
             local playerInfo = {
19 19
                 uid = uid,
20 20
                 bandShareCode = userData:get_key_info(uid, "bandShareCode"),
21
-                version = userData:get_key_info(uid, "version")
21
+                version = userData:get_key_info(uid, "version"),
22
+                channel = userData:get_key_info(uid, "channel")
22 23
             }
23 24
             -- 生成支付日志
24 25
             serverLogUtil.logPay(playerInfo, orderAction)

+ 13 - 4
nodes/web/controllers/usr.lua

@@ -65,7 +65,7 @@ function root.usr_register(msg)
65 65
 
66 66
     userData:user_init_register_info(uid, msg)
67 67
     -- 注册埋点
68
-    serverLogUtil.logRegister(uid, msg.channel, msg.version, msg.sysVer or "", msg.uuid, msg.udid, msg.ip)
68
+    serverLogUtil.logRegister(uid, "", msg.channel, msg.version, msg.sysVer or "", msg.uuid, msg.udid, msg.ip)
69 69
 
70 70
     msg.uid = uid
71 71
     msg.password = moduleData:hget_int(uid, "user", "password")
@@ -178,7 +178,16 @@ function root.usr_register_by_phone(msg)
178 178
         userData:band_share_code(uid, msg.sharecode)
179 179
     end
180 180
     -- 注册埋点
181
-    serverLogUtil.logRegister(uid, msg.channel, msg.version, msg.sysVer or "", msg.uuid, msg.udid, msg.ip)
181
+    serverLogUtil.logRegister(
182
+        uid,
183
+        msg.sharecode,
184
+        msg.channel,
185
+        msg.version,
186
+        msg.sysVer or "",
187
+        msg.uuid,
188
+        msg.udid,
189
+        msg.ip
190
+    )
182 191
 
183 192
     return root.usr_login_by_phone(msg)
184 193
 end
@@ -211,12 +220,12 @@ function root.usr_login_by_phone(msg)
211 220
     if is_empty(nodeInfo) or is_empty(nodeInfo.ip) or is_empty(nodeInfo.wsPort) then
212 221
         return code.NOT_FOUND_SERVER
213 222
     end
214
-
215
-    -- 暂存登陆数据
223
+    local bandShareCode = moduleData:hget(uid, "user", "bandShareCode")
216 224
 
217 225
     -- 登陆埋点
218 226
     serverLogUtil.logLogin(
219 227
         uid,
228
+        bandShareCode or "",
220 229
         msg.channel or "",
221 230
         msg.version or "",
222 231
         msg.sysVer or "",