浏览代码

修改埋点

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

+ 47 - 23
common/utils/serverLogUtil.lua

@@ -33,22 +33,25 @@ local function l_add_active_user(uid)
33
 end
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
     local now = timeUtil.currentTime()
37
     local now = timeUtil.currentTime()
38
     local date = timeUtil.toDate(now)
38
     local date = timeUtil.toDate(now)
39
     local dateStr = timeUtil.toString(now)
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
 end
55
 end
53
 
56
 
54
 -- 服务端资源埋点
57
 -- 服务端资源埋点
@@ -75,21 +78,21 @@ function root.logResource(uid, eventId, itemId, resChgs, resResult, channel, ban
75
 end
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
     local now = timeUtil.currentTime()
82
     local now = timeUtil.currentTime()
80
     local date = timeUtil.toDate(now)
83
     local date = timeUtil.toDate(now)
81
     local dateStr = timeUtil.toString(now)
84
     local dateStr = timeUtil.toString(now)
82
     local data = {
85
     local data = {
83
         date,
86
         date,
84
-        uid or "",
85
         dateStr,
87
         dateStr,
88
+        uid or "",
89
+        bandShareCode or "",
86
         channel or "",
90
         channel or "",
87
         version or "",
91
         version or "",
88
         machineType or "",
92
         machineType or "",
89
         uuid or "",
93
         uuid or "",
90
         udid or "",
94
         udid or "",
91
-        ip or "",
92
-        userType or ""
95
+        ip or ""
93
     }
96
     }
94
     local dataStr = root.formatData(data)
97
     local dataStr = root.formatData(data)
95
     -- 添加到每日活跃信息中
98
     -- 添加到每日活跃信息中
@@ -99,23 +102,23 @@ function root.logRegister(uid, channel, version, machineType, uuid, udid, ip, us
99
 end
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
     local now = timeUtil.currentTime()
106
     local now = timeUtil.currentTime()
104
     local date = timeUtil.toDate(now)
107
     local date = timeUtil.toDate(now)
105
     local dateStr = timeUtil.toString(now)
108
     local dateStr = timeUtil.toString(now)
106
     local data = {
109
     local data = {
107
         date,
110
         date,
111
+        dateStr,
108
         uid or 0,
112
         uid or 0,
113
+        bandShareCode or "",
109
         channel or "",
114
         channel or "",
110
         version or "",
115
         version or "",
111
-        dateStr,
112
         machineType or "",
116
         machineType or "",
113
         operator or "",
117
         operator or "",
114
         network or "",
118
         network or "",
115
         uuid or "",
119
         uuid or "",
116
         udid or "",
120
         udid or "",
117
-        ip or "",
118
-        userType or ""
121
+        ip or ""
119
     }
122
     }
120
     local dataStr = root.formatData(data)
123
     local dataStr = root.formatData(data)
121
     -- 添加到每日活跃信息中
124
     -- 添加到每日活跃信息中
@@ -125,7 +128,7 @@ function root.logLogin(uid, channel, version, machineType, operator, network, uu
125
 end
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
     local now = timeUtil.currentTime()
132
     local now = timeUtil.currentTime()
130
     local date = timeUtil.toDate(now)
133
     local date = timeUtil.toDate(now)
131
     local dateStr = timeUtil.toString(now)
134
     local dateStr = timeUtil.toString(now)
@@ -134,9 +137,10 @@ function root.logLogout(uid, channel, runTimes, version, battleCount, items, isF
134
         date,
137
         date,
135
         dateStr,
138
         dateStr,
136
         uid or "",
139
         uid or "",
140
+        bandShareCode or "",
137
         channel or "",
141
         channel or "",
138
-        runTimes or "",
139
-        version or ""
142
+        version or "",
143
+        runTimes or ""
140
     }
144
     }
141
     local dataStr = root.formatData(data)
145
     local dataStr = root.formatData(data)
142
     -- 添加到每日活跃信息中
146
     -- 添加到每日活跃信息中
@@ -159,6 +163,7 @@ function root.logPay(playerInfo, orderInfo)
159
         dateStr,
163
         dateStr,
160
         playerInfo.uid or "",
164
         playerInfo.uid or "",
161
         playerInfo.bandShareCode or "",
165
         playerInfo.bandShareCode or "",
166
+        playerInfo.channel or "",
162
         playerInfo.version or "",
167
         playerInfo.version or "",
163
         orderInfo.orderNo or "",
168
         orderInfo.orderNo or "",
164
         orderInfo.pay or "",
169
         orderInfo.pay or "",
@@ -172,4 +177,23 @@ function root.logPay(playerInfo, orderInfo)
172
     writeServerLog("pay", date, dataStr)
177
     writeServerLog("pay", date, dataStr)
173
 end
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
 return root
199
 return root

+ 7 - 0
dev/data/user.lua

@@ -29,6 +29,7 @@ function root:user_init_register_info(uid, info)
29
     moduleData:hset(uid, MODULE_NAME, "sysVer", info.sysVer or "")
29
     moduleData:hset(uid, MODULE_NAME, "sysVer", info.sysVer or "")
30
     moduleData:hset(uid, MODULE_NAME, "deviceId", info.deviceId or "")
30
     moduleData:hset(uid, MODULE_NAME, "deviceId", info.deviceId or "")
31
     moduleData:hset(uid, MODULE_NAME, "channel", info.channel)
31
     moduleData:hset(uid, MODULE_NAME, "channel", info.channel)
32
+    moduleData:hset(uid, MODULE_NAME, "ip", info.ip)
32
 
33
 
33
     moduleData:hset(uid, MODULE_NAME, "phone", info.phone)
34
     moduleData:hset(uid, MODULE_NAME, "phone", info.phone)
34
     moduleData:hset(uid, MODULE_NAME, "shareCode", info.shareCode)
35
     moduleData:hset(uid, MODULE_NAME, "shareCode", info.shareCode)
@@ -87,6 +88,12 @@ function root:band_share_code(uid, sharecode)
87
         return false
88
         return false
88
     end
89
     end
89
     moduleData:hset(uid, MODULE_NAME, "bandShareCode", sharecode)
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
     return true
97
     return true
91
 end
98
 end
92
 
99
 

+ 17 - 1
dev/modules/user.lua

@@ -2,8 +2,10 @@ local code = require("code")
2
 local util_player = require("utils.util_player")
2
 local util_player = require("utils.util_player")
3
 local util_global = require("utils.util_global")
3
 local util_global = require("utils.util_global")
4
 local util_3rd = require("utils.util_3rd")
4
 local util_3rd = require("utils.util_3rd")
5
+local serverLogUtil = require("utils.serverLogUtil")
5
 
6
 
6
 local playerData = require("data.player")
7
 local playerData = require("data.player")
8
+local userData = require("data.user")
7
 
9
 
8
 local root = class("user", require("base.baseModule"))
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
         return code.SHARE_CODE.NOT_FOUND
76
         return code.SHARE_CODE.NOT_FOUND
75
     end
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
     return code.OK
93
     return code.OK
78
 end
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
     local version = moduleData:get_version(uid)
24
     local version = moduleData:get_version(uid)
25
     local channel = moduleData:get_channel(uid)
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
 end
29
 end
29
 -- 埋点 - 资源变化
30
 -- 埋点 - 资源变化
30
 function root:log_resource(uid, keyEvent, itemId, delta, total)
31
 function root:log_resource(uid, keyEvent, itemId, delta, total)

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

@@ -1,6 +1,9 @@
1
 local dataMode = require "dataMode"
1
 local dataMode = require "dataMode"
2
+local timeUtil = require("utils.timeUtil")
3
+local serverLogUtil = require("utils.serverLogUtil")
2
 
4
 
3
 local sessionData = require("data.session")
5
 local sessionData = require("data.session")
6
+local moduleData = require("data.module")
4
 
7
 
5
 local root = class("role")
8
 local root = class("role")
6
 
9
 
@@ -59,6 +62,15 @@ function root:logout_modules()
59
         self[cname]:do_logout()
62
         self[cname]:do_logout()
60
         self[cname]:backup_to_db()
63
         self[cname]:backup_to_db()
61
     end
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
     -- 删除玩家session信息
74
     -- 删除玩家session信息
63
     sessionData:user_update_cluster_info(self.uid, "gate")
75
     sessionData:user_update_cluster_info(self.uid, "gate")
64
     sessionData:user_update_cluster_info(self.uid, "game")
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
             local playerInfo = {
18
             local playerInfo = {
19
                 uid = uid,
19
                 uid = uid,
20
                 bandShareCode = userData:get_key_info(uid, "bandShareCode"),
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
             serverLogUtil.logPay(playerInfo, orderAction)
25
             serverLogUtil.logPay(playerInfo, orderAction)

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

@@ -65,7 +65,7 @@ function root.usr_register(msg)
65
 
65
 
66
     userData:user_init_register_info(uid, msg)
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
     msg.uid = uid
70
     msg.uid = uid
71
     msg.password = moduleData:hget_int(uid, "user", "password")
71
     msg.password = moduleData:hget_int(uid, "user", "password")
@@ -178,7 +178,16 @@ function root.usr_register_by_phone(msg)
178
         userData:band_share_code(uid, msg.sharecode)
178
         userData:band_share_code(uid, msg.sharecode)
179
     end
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
     return root.usr_login_by_phone(msg)
192
     return root.usr_login_by_phone(msg)
184
 end
193
 end
@@ -211,12 +220,12 @@ function root.usr_login_by_phone(msg)
211
     if is_empty(nodeInfo) or is_empty(nodeInfo.ip) or is_empty(nodeInfo.wsPort) then
220
     if is_empty(nodeInfo) or is_empty(nodeInfo.ip) or is_empty(nodeInfo.wsPort) then
212
         return code.NOT_FOUND_SERVER
221
         return code.NOT_FOUND_SERVER
213
     end
222
     end
214
-
215
-    -- 暂存登陆数据
223
+    local bandShareCode = moduleData:hget(uid, "user", "bandShareCode")
216
 
224
 
217
     -- 登陆埋点
225
     -- 登陆埋点
218
     serverLogUtil.logLogin(
226
     serverLogUtil.logLogin(
219
         uid,
227
         uid,
228
+        bandShareCode or "",
220
         msg.channel or "",
229
         msg.channel or "",
221
         msg.version or "",
230
         msg.version or "",
222
         msg.sysVer or "",
231
         msg.sysVer or "",