DataTrackProxy.lua 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. local DebugProxy = requireProxy("DebugProxy")
  2. local DataTrackProxy = class("DataTrackProxy", DebugProxy)
  3. DataTrackProxy.NAME = global.ProxyTable.DataTrackProxy
  4. local cjson = require("cjson")
  5. function DataTrackProxy:ctor()
  6. DataTrackProxy.super.ctor(self)
  7. end
  8. -------------------------------------------------------------
  9. --- 角色信息返回
  10. function DataTrackProxy:OnRoleInfo(jsonData)
  11. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  12. global.L_NativeBridgeManager:GN_onSelectServer(jsonData)
  13. end
  14. -- QQ大厅上报
  15. local AuthProxy = global.Facade:retrieveProxy(global.ProxyTable.AuthProxy)
  16. if AuthProxy:IsQQChannel() then
  17. local uploadData = {}
  18. uploadData.user_id = jsonData.userId
  19. uploadData.server_id = jsonData.zoneId
  20. uploadData.server_name = jsonData.zoneName
  21. AuthProxy:uploadDataQQGame(5, uploadData)
  22. end
  23. end
  24. -------------------------------------------------------------
  25. --- 创角
  26. function DataTrackProxy:OnCreateRole(jsonData)
  27. -- 上报至 安卓层
  28. global.L_NativeBridgeManager:GN_onNewRole(jsonData)
  29. -- 友盟数据上报
  30. global.L_NativeBridgeManager:GN_umengUploadNewRole(jsonData)
  31. --需要接入pc端的sdk
  32. if global.L_GameEnvManager:GetEnvDataByKey("isPcSdk") then
  33. local jsonString = cjson.encode(jsonData)
  34. local methodName = "GN_onNewRole"
  35. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  36. end
  37. -- 996数据上报
  38. local DataRePortProxy = global.Facade:retrieveProxy( global.ProxyTable.DataRePortProxy )
  39. DataRePortProxy:CreateRole(jsonData)
  40. --直播红包+飘屏群 上报需求
  41. local AuthProxy = global.Facade:retrieveProxy(global.ProxyTable.AuthProxy)
  42. AuthProxy:RequestUpLoadCreateRole(jsonData)
  43. end
  44. -------------------------------------------------------------
  45. --- 进入游戏
  46. function DataTrackProxy:OnEnterGame(jsonData)
  47. global.L_NativeBridgeManager:GN_onEnterGame(jsonData)
  48. --需要接入pc端的sdk
  49. local isPcSdk = global.L_GameEnvManager:GetEnvDataByKey("isPcSdk")
  50. if isPcSdk or global.isWindows then
  51. local jsonString = cjson.encode(jsonData)
  52. local methodName = "GN_onEnterGame"
  53. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  54. end
  55. -- 数据上报 进入游戏
  56. local DataRePortProxy = global.Facade:retrieveProxy( global.ProxyTable.DataRePortProxy )
  57. DataRePortProxy:GameLogin(jsonData)
  58. end
  59. -------------------------------------------------------------
  60. --- 等级改变
  61. function DataTrackProxy:OnLevelChange(jsonData)
  62. global.L_NativeBridgeManager:GN_onLevelChanged(jsonData)
  63. --需要接入pc端的sdk
  64. if global.L_GameEnvManager:GetEnvDataByKey("isPcSdk") then
  65. local jsonString = cjson.encode(jsonData)
  66. local methodName = "GN_onLevelChanged"
  67. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  68. end
  69. end
  70. -- 扩展参数变化
  71. function DataTrackProxy:OnExpandInfoChanage()
  72. local AutoProxy = global.Facade:retrieveProxy( global.ProxyTable.Auto )
  73. local MapProxy = global.Facade:retrieveProxy( global.ProxyTable.Map )
  74. local isAfk = 0
  75. local mapId = MapProxy and MapProxy:GetMapID() or ""
  76. if AutoProxy and AutoProxy:IsAFKState() then
  77. isAfk = 1
  78. end
  79. local infoData = {
  80. map_id = mapId,
  81. is_afk = isAfk
  82. }
  83. local NativeBridgeProxy = global.Facade:retrieveProxy(global.ProxyTable.NativeBridgeProxy)
  84. NativeBridgeProxy:GN_SetExpandInfo(infoData)
  85. end
  86. return DataTrackProxy