222 lines
6.5 KiB
Lua
222 lines
6.5 KiB
Lua
local BIReportV2 = {}
|
|
|
|
-- 所有上报事件
|
|
|
|
local EVENT_NAME_PRODUCTION_SALES_V2 = "client_production_sales_v2" -- 产销
|
|
local EVENT_NAME_FIGHT_V2 = "client_fight_v2" -- 玩法
|
|
local EVENT_NAME_LEVEL_UP_V2 = "client_level_up_v2" -- 升级
|
|
local EVENT_NAME_OPERATION_V2 = "client_operation_v2" -- 操作
|
|
|
|
|
|
BIReportV2.PRODUCTION_SALES_TYPE = {
|
|
ITEM = "道具",
|
|
CURRENCY = "货币"
|
|
}
|
|
|
|
BIReportV2.PRODUCTION_SALES_EVENT_TYPE = {
|
|
USE = "获得",
|
|
GET = "消耗"
|
|
}
|
|
|
|
BIReportV2.FIGHT_TYPE = {
|
|
FIGHT_BEGIN = "开始",
|
|
FIGHT_END = "结束"
|
|
}
|
|
|
|
BIReportV2.FIGHT_NAME = {
|
|
[1] = "主线关卡",
|
|
[2] = "日常副本",
|
|
[3] = "爬塔",
|
|
[4] = "世界BOSS",
|
|
[5] = "精英挑战",
|
|
[6] = "元素地牢",
|
|
[18] = "竞技场",
|
|
}
|
|
BIReportV2.FIGHT_NAME_DUNGEON_GOLD = "金币副本"
|
|
BIReportV2.FIGHT_NAME_DUNGEON_MATERIAL = "材料副本"
|
|
|
|
BIReportV2.FIGHT_RESULT = {
|
|
WIN = "胜利",
|
|
FAIL = "失败",
|
|
FINISH = "完成",
|
|
QUIT = "退出",
|
|
UNKNOW = "未知"
|
|
}
|
|
|
|
BIReportV2.OPERATION_TYPE = {
|
|
CLICK = "点击",
|
|
SHOW = "展示",
|
|
}
|
|
|
|
BIReportV2.LEVEL_UP_TYPE = {
|
|
GET_PLAYER_EXP = "获取账号经验",
|
|
}
|
|
|
|
BIReportV2.OPERATION_UI_NAME = {
|
|
LOGIN_UI = "登陆",
|
|
FIRST_RECHARGE_PAGE_1 = "首充第一档",
|
|
FIRST_RECHARGE_PAGE_2 = "首充第二档",
|
|
FIRST_RECHARGE_PAGE_3 = "首充第三档",
|
|
POP_CHAPTER_UI = "章节弹出礼包",
|
|
ROUTINE_GIFT_1 = "新手礼包",
|
|
ROUTINE_GIFT_2 = "日礼包",
|
|
ROUTINE_GIFT_3 = "周礼包",
|
|
ROUTINE_GIFT_4 = "月礼包",
|
|
PRIVILEGE_CARD = "特权卡",
|
|
PRIVILEGE_CARD_1 = "特权每日福利",
|
|
PRIVILEGE_CARD_2 = "免广告",
|
|
PRIVILEGE_CARD_3 = "月卡",
|
|
PRIVILEGE_CARD_4 = "终身卡",
|
|
PRIVILEGE_CARD_5 = "挑战征服卡",
|
|
FUND_LEVEL = "成长基金",
|
|
FUND_CHAPTER = "关卡基金",
|
|
BOUNTY_COLLECTION = "宝物战令",
|
|
TOWER_BOUNTY = "爬塔战令",
|
|
SING_WEEK = "7日签到",
|
|
SIGN_MONTH = "30日签到",
|
|
ACT_SEVENDAY_TASK = "七天乐任务",
|
|
ACT_SEVENDAY_GIFT = "七天乐礼包",
|
|
ACT_SEVENDAY_TASK_2 = "七天乐任务第二期",
|
|
ACT_SEVENDAY_GIFT_2 = "七天乐礼包第二期",
|
|
ACT_SEVENDAY_LOOP_TASK_1 = "七日达标1循环任务",
|
|
ACT_SEVENDAY_LOOP_GIFT_1 = "七日达标1循环礼包",
|
|
ACT_SEVENDAY_LOOP_TASK_2 = "七日达标2循环任务",
|
|
ACT_SEVENDAY_LOOP_GIFT_2 = "七日达标2循环礼包",
|
|
ACT_SEVENDAY_LOOP_TASK_3 = "七日达标3循环任务",
|
|
ACT_SEVENDAY_LOOP_GIFT_3 = "七日达标3循环礼包",
|
|
SHOP_CHAPTER = "商店章节礼包",
|
|
SHOP_DAILY_STORE = "每日商店",
|
|
SHOP_GEM_STORE = "钻石礼包",
|
|
SHOP_GOLD_STORE = "金币礼包",
|
|
MAIN_SHOP = "商城",
|
|
ACT_SUMMON_LOGIN = "卡池活动登录福利",
|
|
ACT_SUMMON_UPGRADE_1 = "卡池活动英雄升级1",
|
|
ACT_SUMMON_UPGRADE_2 = "卡池活动英雄升级2",
|
|
ACT_SUMMON_GEM = "特惠礼包",
|
|
ACT_SUMMON_RECHARGE = "连冲豪礼",
|
|
SUMMON_MAIN = "普通召唤",
|
|
SUMMON_ACT_1 = "召唤界面:电闪雷鸣",
|
|
SUMMON_ACT_2 = "召唤界面:虎豹之争",
|
|
GIFT_CHAIN_POP = "连锁礼包弹窗",
|
|
ACT_SPRINT_NEW_SUMMON = "普通召唤新手冲刺活动版本2-加签到任务不改",
|
|
ACT_SPRINT_NEW_BOX = "史诗芯魂宝箱新手冲刺活动版本2-加签到任务不改",
|
|
ACT_SPRINT_LOOP_SUMMON = "普通召唤冲刺-循环版版本2",
|
|
ACT_SPRINT_LOOP_BOX = "史诗芯魂冲刺-循环版版本2",
|
|
ACT_SPRINT_LOOP_TREE = "钻石消耗冲刺-循环版版本2",
|
|
}
|
|
|
|
BIReportV2.UI_PATH_NAME = {
|
|
|
|
}
|
|
|
|
function BIReportV2:postProductionSales(productionType, eventType, id, num, getType)
|
|
local args = {
|
|
itemCategory = productionType, -- 产销类型
|
|
itemId = id, -- 产销物品id
|
|
quantity = num, -- 产销数量
|
|
approach = getType, -- 产销途径
|
|
eventType = eventType, -- 产销事件
|
|
}
|
|
BIReport:report(EVENT_NAME_PRODUCTION_SALES_V2, args)
|
|
end
|
|
|
|
function BIReportV2:postItemProductionSales(optType, itemId, itemNum, getType)
|
|
if itemNum == 0 then
|
|
return
|
|
end
|
|
self:postProductionSales(BIReportV2.PRODUCTION_SALES_TYPE.ITEM, optType, itemId, itemNum, getType)
|
|
end
|
|
|
|
function BIReportV2:postCurrencyProductionSales(optType, itemId, itemNum, getType)
|
|
if itemNum == 0 then
|
|
return
|
|
end
|
|
self:postProductionSales(BIReportV2.PRODUCTION_SALES_TYPE.CURRENCY, optType, itemId, itemNum, getType)
|
|
end
|
|
|
|
function BIReportV2:getFightName(battleType, id)
|
|
local fightName = battleType
|
|
if battleType == ModuleManager.BattleManager.BATTLE_TYPE.DUNGEON then
|
|
local dungeonDailyType = DataManager.DungeonDailyData:getDungeonDailyTypeByChapterId(id)
|
|
if dungeonDailyType == GConst.DungeonConst.DUNGEON_DAILY_TYPE.GOLD then
|
|
fightName = BIReportV2.FIGHT_NAME_DUNGEON_GOLD
|
|
elseif dungeonDailyType == GConst.DungeonConst.DUNGEON_DAILY_TYPE.MATERIAL then
|
|
fightName = BIReportV2.FIGHT_NAME_DUNGEON_MATERIAL
|
|
end
|
|
else
|
|
fightName = BIReportV2.FIGHT_NAME[battleType] or tostring(battleType)
|
|
end
|
|
return fightName
|
|
end
|
|
|
|
function BIReportV2:getFightResult(battleType, fightResult)
|
|
if battleType == ModuleManager.BattleManager.BATTLE_TYPE.TOWER then
|
|
return BIReportV2.FIGHT_RESULT.FINISH
|
|
else
|
|
if fightResult == BIReport.FIGHT_END_TYPE.WIN then
|
|
return BIReportV2.FIGHT_RESULT.WIN
|
|
elseif fightResult == BIReport.FIGHT_END_TYPE.FAIL then
|
|
return BIReportV2.FIGHT_RESULT.FAIL
|
|
elseif fightResult == BIReport.FIGHT_END_TYPE.QUIT then
|
|
return BIReportV2.FIGHT_RESULT.QUIT
|
|
else
|
|
return BIReportV2.FIGHT_RESULT.UNKNOW
|
|
end
|
|
end
|
|
end
|
|
|
|
function BIReportV2:postFightBegin(battleType, id)
|
|
local args = {
|
|
playType = self:getFightName(battleType, id),
|
|
playName = id,
|
|
eventType = BIReportV2.FIGHT_TYPE.FIGHT_BEGIN
|
|
}
|
|
BIReport:report(EVENT_NAME_FIGHT_V2, args)
|
|
end
|
|
|
|
function BIReportV2:postFightEnd(battleType, id, fightResult, time, ext)
|
|
local args = {
|
|
playType = self:getFightName(battleType, id),
|
|
playName = id,
|
|
playResult = self:getFightResult(battleType, fightResult),
|
|
ext1 = ext,
|
|
playTime = time,
|
|
eventType = BIReportV2.FIGHT_TYPE.FIGHT_END
|
|
}
|
|
BIReport:report(EVENT_NAME_FIGHT_V2, args)
|
|
end
|
|
|
|
function BIReportV2:postLevelUp(exp, getType, beforeLevel, afterLevel)
|
|
local args = {
|
|
exp = exp,
|
|
approach = getType,
|
|
beforeLevel = beforeLevel,
|
|
afterLevel = afterLevel,
|
|
eventType = BIReportV2.LEVEL_UP_TYPE.GET_PLAYER_EXP
|
|
}
|
|
BIReport:report(EVENT_NAME_LEVEL_UP_V2, args)
|
|
end
|
|
|
|
function BIReportV2:postOperation(uiName)
|
|
if uiName == nil then
|
|
return
|
|
end
|
|
local args = {
|
|
operationName = uiName,
|
|
eventType = BIReportV2.OPERATION_TYPE.CLICK
|
|
}
|
|
BIReport:report(EVENT_NAME_OPERATION_V2, args)
|
|
end
|
|
|
|
function BIReportV2:postOpenUI(uiPath)
|
|
if uiPath == nil then
|
|
return
|
|
end
|
|
local uiName = BIReportV2.UI_PATH_NAME[uiPath]
|
|
if uiName == nil then
|
|
return
|
|
end
|
|
self:postOperation(uiName)
|
|
end
|
|
|
|
return BIReportV2 |