131 lines
3.0 KiB
Lua
131 lines
3.0 KiB
Lua
ThinkingAnalyticsManager = {}
|
||
local this = ThinkingAnalyticsManager
|
||
|
||
TA_EVENT = {
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
local function _DicToStr(data)
|
||
local index = 1
|
||
local str = ""
|
||
local fmt = "%s#%s#%s"
|
||
for key, value in pairs(data) do
|
||
if index ~= 1 then
|
||
str = str .."|"
|
||
end
|
||
local valueType = 0
|
||
if type(value) == "number" then
|
||
valueType = 1
|
||
elseif type(value) == "string" then
|
||
local sl = string.split(value, "#")
|
||
value = sl[1]
|
||
if sl[2] then
|
||
valueType = tonumber(sl[2]) or 0
|
||
end
|
||
end
|
||
str = str..string.format(fmt, key, tostring(value), valueType)
|
||
index = index + 1
|
||
end
|
||
return str
|
||
end
|
||
|
||
function this.Initialize()
|
||
|
||
if AppConst.isSDK then
|
||
-- 监听赛季结束事件
|
||
Game.GlobalEvent:AddEvent(GameEvent.Network.OnReceiveHeartBeat, function(network, time)
|
||
if network.type == SocketType.LOGIN then
|
||
this.CalibrateTime(time)
|
||
end
|
||
end)
|
||
-- 尝试触发 安装事件(怀疑安装事件是在第一次触发track时触发的)
|
||
-- App.TAMgr:Init()
|
||
end
|
||
end
|
||
|
||
-- 校对时间
|
||
function this.CalibrateTime(time)
|
||
if AppConst.isSDK then
|
||
App.TAMgr:CalibrateTime(time*1000)
|
||
end
|
||
end
|
||
|
||
|
||
-- 设置访客Id
|
||
function this.SetDistinctId(distinctId)
|
||
if AppConst.isSDK then
|
||
App.TAMgr:SetDistinctId(distinctId)
|
||
end
|
||
end
|
||
|
||
-- 获取访客Id
|
||
function this.GetDistinctId()
|
||
if AppConst.isSDK then
|
||
return App.TAMgr:GetDistinctId()
|
||
end
|
||
return ""
|
||
end
|
||
-- 获取设备Id
|
||
function this.GetDeviceId()
|
||
if AppConst.isSDK then
|
||
if ServerConfigManager.IsSettingActive(ServerConfigManager.SettingConfig.ThinkAnalysis_GetDeviceID)
|
||
or ServerConfigManager.GetSDKVersionCode() >= 24
|
||
then
|
||
return App.TAMgr:GetDeviceId()
|
||
end
|
||
return AndroidDeviceInfo.Instance:GetDeviceID()
|
||
end
|
||
return ""
|
||
end
|
||
|
||
|
||
-- 登录
|
||
function this.Login(accountId)
|
||
if AppConst.isSDK then
|
||
App.TAMgr:Login(accountId)
|
||
end
|
||
end
|
||
-- 登出
|
||
function this.Logout()
|
||
if AppConst.isSDK then
|
||
App.TAMgr:Logout()
|
||
end
|
||
end
|
||
|
||
-- 静态数据设置
|
||
local _SuperPropertise = {}
|
||
function this.SetSuperProperties(data)
|
||
if AppConst.isSDK then
|
||
for key, value in pairs(data) do
|
||
_SuperPropertise[key] = value
|
||
end
|
||
|
||
local sData = _DicToStr(_SuperPropertise)
|
||
Log("打点静态数据:"..sData)
|
||
App.TAMgr:SetSuperProperties(sData)
|
||
end
|
||
end
|
||
-- 清除静态数据
|
||
function this.ClearSuperProperties()
|
||
if AppConst.isSDK then
|
||
_SuperPropertise = {}
|
||
App.TAMgr:ClearSuperProperties()
|
||
end
|
||
end
|
||
|
||
-- 打点事件
|
||
function this.Track(event, data)
|
||
if AppConst.isSDK then
|
||
Log("打点事件:"..event)
|
||
local dStr = data and _DicToStr(data) or ""
|
||
Log("打点数据:"..dStr)
|
||
App.TAMgr:Track(event, dStr)
|
||
end
|
||
end
|
||
|
||
|
||
|
||
return ThinkingAnalyticsManager |