diff --git a/lua/app/common/bi_report.lua b/lua/app/common/bi_report.lua index b28fdf29..4e78d06d 100644 --- a/lua/app/common/bi_report.lua +++ b/lua/app/common/bi_report.lua @@ -222,6 +222,11 @@ BIReport.MISCELLANEOUS_OPT_TYPE = { EVALUATE_CLOSE = "EvaluateClose", } +BIReport.ARENA_OPT_TYPE = { + CONSUME = "Consume", + SETTLEMENT = "Settlement", +} + -- b6 local EVENT_NAME_EXIT = "client_exit" local EVENT_NAME_FIGHT = "client_fight" @@ -248,6 +253,7 @@ local EVENT_NAME_BOUNTY_OPT = "client_bounty_opt" -- 通用战令事件(包括 local EVENT_NAME_NETWORK_OPT = "client_network_opt" -- 网络操作 local EVENT_NAME_APPLOVIN_AD_REVENUE = "client_applovin_ad_revenue" -- applovin广告收入 local EVENT_NAME_DAILY_CHALLENGE_OPT = "client_daily_challenge_opt" +local EVENT_NAME_ARENA_OPT = "client_arena_opt"-- 竞技场 local EVENT_NAME_MISCELLANEOUS_OPT = "event_name_miscellaneous_opt" -- 一些杂项 function BIReport:setIsNewPlayer(isNewPlayer) @@ -1038,6 +1044,26 @@ function BIReport:postAppLovinAdRevenue(msg) end end +-- 竞技场进入消耗上报 +function BIReport:postArenaConsume(todayConsume) + local args = { + event_type = BIReport.ARENA_OPT_TYPE.CONSUME, + today_consume = todayConsume, + } + self:report(EVENT_NAME_ARENA_OPT, args) +end + +-- 竞技场结算数据上报 +function BIReport:postArenaSettlement(gradingId, wave, winRate) + local args = { + event_type = BIReport.ARENA_OPT_TYPE.SETTLEMENT, + grading_id = gradingId, + wave = wave, + win_rate = winRate, + } + self:report(EVENT_NAME_ARENA_OPT, args) +end + function BIReport:postDailyChallengeTaskState(completedCount, taskInfo) local args = { event_type = BIReport.DIALY_CHALLENGE_OPT_TYPE.TASK_STATE, diff --git a/lua/app/common/local_data.lua b/lua/app/common/local_data.lua index ab355cb1..57fe3c01 100644 --- a/lua/app/common/local_data.lua +++ b/lua/app/common/local_data.lua @@ -35,6 +35,7 @@ local LOCAL_DATA_KEY = { SHOP_DISCOUNT_RED_POINT_TIME = "SHOP_DISCOUNT_RED_POINT_TIME", ARENA_BOUNTY_POP_TIME = "ARENA_BOUNTY_POP_TIME", LINK_TOUCH_CANCEL_COUNT = "LINK_TOUCH_CANCEL_COUNT", + ARENA_TODAY_BATTLE_COUNT = "ARENA_TODAY_BATTLE_COUNT", } LocalData.KEYS = LOCAL_DATA_KEY @@ -411,4 +412,13 @@ function LocalData:getLinkTouchCancelCount() return self:getInt(LOCAL_DATA_KEY.LINK_TOUCH_CANCEL_COUNT, 0) end +function LocalData:getTodayArenaBattleCount() + return self:getInt(LOCAL_DATA_KEY.ARENA_TODAY_BATTLE_COUNT .. Time:getBeginningOfServerToday(), 0) +end + +function LocalData:recordTodayArenaBattle() + local value = self:getTodayArenaBattleCount() + self:setInt(LOCAL_DATA_KEY.ARENA_TODAY_BATTLE_COUNT .. Time:getBeginningOfServerToday(), value + 1) +end + return LocalData \ No newline at end of file diff --git a/lua/app/module/arena/arena_manager.lua b/lua/app/module/arena/arena_manager.lua index a705ffea..cb959d78 100644 --- a/lua/app/module/arena/arena_manager.lua +++ b/lua/app/module/arena/arena_manager.lua @@ -98,6 +98,10 @@ function ArenaManager:rspChallenge(result) end end ModuleManager.BattleManager:playBattle(GConst.BattleConst.BATTLE_TYPE.ARENA, params) + + --bi上报 + LocalData:recordTodayArenaBattle() + BIReport:postArenaConsume(LocalData:getTodayArenaBattleCount()) end end @@ -106,7 +110,8 @@ function ArenaManager:reqSettlement(win, battleReport, taskProgress) local parmas = { win = win, season = DataManager.ArenaData:getSeason(), - task_stat = taskProgress + task_stat = taskProgress, + battleReport = battleReport, } self:sendMessage(ProtoMsgType.FromMsgEnum.PVPChallengeSettlementReq, parmas, {}, self.rspSettlement, BIReport.ITEM_GET_TYPE.ARENA_SETTLEMENT) end @@ -134,6 +139,10 @@ function ArenaManager:rspSettlement(result) self:checkSeasonChange() ModuleManager.TaskManager:addFightTaskProgress(reqData.task_stat) + + --bi上报 + local winRate = result.total_win_count / (result.total_win_count + result.total_lose_count) + BIReport:postArenaSettlement(DataManager.ArenaData:getGradingId(), reqData.battleReport.wave, winRate) end end