NativeBridgeManager_launcher.lua 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192
  1. local NativeBridgeManager = class("NativeBridgeManager")
  2. local cjson = require("cjson")
  3. function NativeBridgeManager:ctor()
  4. self._loginState = 0
  5. self._username = nil
  6. self._password = nil
  7. self._isCertification = true --是否已经实名认证
  8. self._isAdult = true --是否已经成年
  9. self._sdkuid = nil -- 原始uid,聚合那边将uid转了一下,无法正常和SDK进行其他网络通信了,加这个字段,▄█▀█●
  10. self._needAllowLaunch = false -- 需要SDK允许进入
  11. self._isAllowLaunch = false -- SDK是否允许进入
  12. -- 嫌疑数据
  13. self._suspectInfo = nil
  14. --上一次使用的区服
  15. self._lastServerID = nil;
  16. --是否需要buf
  17. self._isHasBuff = "0"
  18. --移动端登录信息
  19. self._loginData = {}
  20. -- VIP数据
  21. self._VipData = nil
  22. self._isHaveVip = false
  23. -- 从盒子启动
  24. self._launchByBox = false
  25. self:registerN2GMethods()
  26. end
  27. function NativeBridgeManager:GetLoginState()
  28. return self._loginState
  29. end
  30. function NativeBridgeManager:GetUsername()
  31. return self._username
  32. end
  33. function NativeBridgeManager:GetPassword()
  34. return self._password
  35. end
  36. function NativeBridgeManager:GetCertification()
  37. return self._isCertification
  38. end
  39. function NativeBridgeManager:SetCertification(state)
  40. self._isCertification = state
  41. end
  42. function NativeBridgeManager:GetAdult()
  43. return self._isAdult
  44. end
  45. function NativeBridgeManager:SetAdult(state)
  46. self._isAdult = state
  47. end
  48. function NativeBridgeManager:GetHasBuff()
  49. return self._isHasBuff
  50. end
  51. function NativeBridgeManager:GetLoginDataByKey(key)
  52. return self._loginData[key]
  53. end
  54. function NativeBridgeManager:SetLoginDataByKey(key,value)
  55. self._loginData[key] = value
  56. end
  57. function NativeBridgeManager:GetSdkuid(state)
  58. return self._sdkuid
  59. end
  60. function NativeBridgeManager:GetSuspectInfo()
  61. return self._suspectInfo
  62. end
  63. function NativeBridgeManager:SetSuspectInfo(info)
  64. self._suspectInfo = info
  65. end
  66. function NativeBridgeManager:IsNeedAllowLaunch()
  67. return self._needAllowLaunch
  68. end
  69. function NativeBridgeManager:SetNeedAllowLaunch(v)
  70. self._needAllowLaunch = v
  71. end
  72. function NativeBridgeManager:IsAllowLaunch()
  73. return self._isAllowLaunch
  74. end
  75. function NativeBridgeManager:SetIsAllowLaunch(v)
  76. self._isAllowLaunch = v
  77. end
  78. function NativeBridgeManager:getLastServerID()
  79. return self._lastServerID
  80. end
  81. function NativeBridgeManager:SetLastServerID(v)
  82. self._lastServerID = v
  83. end
  84. function NativeBridgeManager:SetVIPLevel(v)
  85. self._VipData = v
  86. end
  87. function NativeBridgeManager:GetVIPLevel()
  88. return self._VipData, self._isHaveVip
  89. end
  90. function NativeBridgeManager:CheckAllowLaunch()
  91. -- 不需要SDK同意
  92. if not self:IsNeedAllowLaunch() then
  93. return true
  94. end
  95. return self:IsNeedAllowLaunch() and self:IsAllowLaunch()
  96. end
  97. function NativeBridgeManager:onRecvDataCB(sender, jsonString)
  98. releasePrint("RecvDataCallback:" .. tostring(jsonString))
  99. local paramJson = cjson.decode(jsonString)
  100. self._revcData = paramJson
  101. if not paramJson then
  102. return nil
  103. end
  104. if paramJson.versionName then
  105. global.L_GameEnvManager:SetAPKVersionName(paramJson.versionName)
  106. end
  107. if paramJson.versionCode then
  108. global.L_GameEnvManager:SetAPKVersionCode(paramJson.versionCode)
  109. end
  110. if paramJson.package then
  111. global.L_GameEnvManager:SetAPKPackageName(paramJson.package)
  112. end
  113. if paramJson.packageName then
  114. global.L_GameEnvManager:SetAPKPackageShowName(paramJson.packageName)
  115. end
  116. if paramJson.code_java then
  117. global.L_GameEnvManager:SetJavaVersionCode(paramJson.code_java)
  118. end
  119. if paramJson.srvlist and string.len(paramJson.srvlist) > 0 then
  120. global.L_GameEnvManager:SetModInfoURL(paramJson.srvlist)
  121. end
  122. if paramJson.srvlistPlanB and string.len(paramJson.srvlistPlanB) > 0 then
  123. global.L_GameEnvManager:SetModInfoURLPlanB(paramJson.srvlistPlanB)
  124. end
  125. if paramJson.channelId and string.len(paramJson.channelId) > 0 then
  126. global.L_GameEnvManager:SetChannelID(paramJson.channelId)
  127. end
  128. if paramJson.network then
  129. global.L_GameEnvManager:SetNetType(paramJson.network)
  130. end
  131. if paramJson.battery then
  132. global.L_GameEnvManager:SetBattery(paramJson.battery)
  133. end
  134. if paramJson.totalMemSizeInByte then
  135. local memSize = tonumber( paramJson.totalMemSizeInByte )
  136. local memSizeInGB = 3
  137. if global.Platform == cc.PLATFORM_OS_ANDROID then
  138. memSizeInGB = memSize / 1048576
  139. else
  140. memSizeInGB = memSize / 1073741824
  141. end
  142. global.L_GameEnvManager:SetTotalMemSize(memSizeInGB)
  143. end
  144. if paramJson.UDID then
  145. global.L_GameEnvManager:SetUDID(tostring(paramJson.UDID))
  146. end
  147. if paramJson.PUID then
  148. global.L_GameEnvManager:SetPUID(tostring(paramJson.PUID))
  149. end
  150. if paramJson.isEMU then
  151. global.L_GameEnvManager:SetIsEmulator(paramJson.isEMU == "1")
  152. end
  153. if paramJson.isUM then
  154. global.L_GameEnvManager:SetIsUmeng(paramJson.isUM == "1")
  155. end
  156. if paramJson.needPermission ~= nil then
  157. global.L_GameEnvManager:setNeedPermission(tostring(paramJson.needPermission) == "1")
  158. end
  159. if paramJson.hasPermission then
  160. global.L_GameEnvManager:setHasPermission(tostring(paramJson.hasPermission) == "1")
  161. end
  162. if paramJson.needAllowLaunch then
  163. global.L_NativeBridgeManager:SetNeedAllowLaunch(tostring(paramJson.needAllowLaunch) == "1")
  164. end
  165. if paramJson.envData then
  166. local envData = cjson.decode(paramJson.envData)
  167. for k, v in pairs(envData) do
  168. global.L_GameEnvManager:SetEnvDataByKey(k, v)
  169. end
  170. global.BoxLaunchExternal = true --盒子启动的外部游戏包
  171. end
  172. if paramJson.launchByBox then
  173. self._launchByBox = paramJson.launchByBox
  174. end
  175. releasePrint( "_totalMemSizeInGB:" .. tostring(global.L_GameEnvManager:GetTotalMemSize()))
  176. releasePrint("isEmulator:", global.L_GameEnvManager:IsEmulator())
  177. -- check by app code
  178. if not self._launchByBox then
  179. -- 盒子启动时,不处理覆盖安装的删除
  180. global.L_GameEnvManager:CheckAppOverlayTrace()
  181. end
  182. -- root dir
  183. global.L_GameEnvManager:CheckRootDir()
  184. end
  185. function NativeBridgeManager:onSDKLoginCB(sender, jsonString)
  186. HideLoadingBar()
  187. -- debug
  188. releasePrint("SDKLoginCallback:" .. tostring(jsonString))
  189. local paramJson = cjson.decode(jsonString)
  190. local state = paramJson.state -- 1: success, 0:failed
  191. -- login state
  192. self._loginState = tonumber(state)
  193. if state and tonumber(state) == 1 then
  194. if paramJson.userName and paramJson.sessionId then
  195. releasePrint("paramJson.sdata: " .. tostring(paramJson.sdata))
  196. if paramJson.sdata ~= nil then
  197. global.L_GameEnvManager:SetSData(paramJson.sdata)
  198. end
  199. self._username = paramJson.userName
  200. self._password = paramJson.sessionId
  201. end
  202. for k, v in pairs(paramJson) do
  203. self:SetLoginDataByKey(k, v)
  204. end
  205. if global.L_ModuleChooseManager.OnLoginSuccessResp then
  206. global.L_ModuleChooseManager:OnLoginSuccessResp()
  207. end
  208. if paramJson.isCertification ~= nil and paramJson.isAdult ~= nil then
  209. self._isCertification = paramJson.isCertification
  210. self._isAdult = paramJson.isAdult
  211. releasePrint("self._isCertification = ",self._isCertification,"self._isAdult = ",self._isAdult)
  212. end
  213. if paramJson.sdkuid ~= nil and paramJson.sdkuid ~= "" then
  214. self._sdkuid = paramJson.sdkuid
  215. end
  216. self:GN_getVIPLevel()
  217. end
  218. end
  219. function NativeBridgeManager:onHasBuff(sender, jsonString)
  220. -- debug
  221. releasePrint("LogoutCallback:" .. tostring(jsonString))
  222. local paramJson = cjson.decode(jsonString)
  223. local buff = paramJson.buff -- 1: 有buf, 0:无buf
  224. self._isHasBuff = buff
  225. end
  226. function NativeBridgeManager:onLogoutCB(sender, jsonString)
  227. -- debug
  228. releasePrint("LogoutCallback:" .. tostring(jsonString))
  229. global.L_GameEnvManager:RestartGame()
  230. end
  231. function NativeBridgeManager:onOverlayInstallationCB(sender, jsonString)
  232. end
  233. function NativeBridgeManager:onMacAddressCB(sender, jsonString)
  234. local paramJson = cjson.decode(jsonString)
  235. if paramJson.wifi_mac and string.len(paramJson.wifi_mac) > 0 then
  236. global.L_GameEnvManager:SetMacAddress(tostring(paramJson.wifi_mac))
  237. end
  238. end
  239. function NativeBridgeManager:onNativeStatusChangedCB(sender, jsonString)
  240. releasePrint("NativeStatusChanged 1111:" .. tostring(jsonString))
  241. local paramJson = cjson.decode(jsonString)
  242. local networkDesc = {[-1] = "unknown", [0] = "wifi", [1] = "2g", [2] = "3g", [3] = "4g"}
  243. releasePrint("NativeStatusChanged, network:" .. networkDesc[paramJson.network] .. ",battery:" .. paramJson.battery)
  244. global.L_GameEnvManager:SetNetType(paramJson.network)
  245. global.L_GameEnvManager:SetBattery(paramJson.battery)
  246. end
  247. function NativeBridgeManager:onDeviceRotationChanged(sender, jsonString)
  248. releasePrint("onDeviceRotationChanged 1111:" .. tostring(jsonString))
  249. local paramJson = cjson.decode(jsonString)
  250. releasePrint("onDeviceRotationChanged, deviceRotation:" .. paramJson.deviceRotation)
  251. global.L_GameEnvManager:SetDeviceRotation(paramJson.deviceRotation)
  252. if global.Facade then
  253. global.Facade:sendNotification(global.NoticeTable.DeviceRotationChanged)
  254. end
  255. end
  256. function NativeBridgeManager:NG_AllowLaunchGame(sender, jsonString)
  257. releasePrint("NG_canEnterGame 1111:" .. tostring(jsonString))
  258. local paramJson = cjson.decode(jsonString)
  259. releasePrint("NG_canEnterGame,:" .. paramJson.isAllowLaunch)
  260. global.L_NativeBridgeManager:SetIsAllowLaunch(tostring(paramJson.isAllowLaunch) == "1")
  261. end
  262. function NativeBridgeManager:NG_RealNameInfo(sender, jsonString)
  263. releasePrint("NG_RealNameInfo 1111:" .. tostring(jsonString))
  264. local paramJson = cjson.decode(jsonString)
  265. releasePrint("NG_RealNameInfo,:" .. paramJson.RealNameStatus)
  266. self._isCertification = true
  267. local status = paramJson and paramJson.RealNameStatus and tostring(paramJson.RealNameStatus)
  268. self._isAdult = status == "2"
  269. if global.Facade then
  270. global.Facade:sendNotification(global.NoticeTable.RealNameInfo,{status =status})
  271. end
  272. end
  273. function NativeBridgeManager:NG_SuspectInfo(sender, jsonString)
  274. local paramJson = cjson.decode(jsonString)
  275. if paramJson.suspectInfo then
  276. self:SetSuspectInfo(paramJson.suspectInfo)
  277. -- releasePrint("paramJson.suspectInfo = "..paramJson.suspectInfo)
  278. global.Facade:sendNotification(global.NoticeTable.SuspectInfo,{info = paramJson.suspectInfo,type = 2})
  279. end
  280. end
  281. function NativeBridgeManager:NG_HeartInfo(sender, jsonString)
  282. local paramJson = cjson.decode(jsonString)
  283. if paramJson.heartInfo then
  284. if global.Facade then
  285. global.Facade:sendNotification(global.NoticeTable.SuspectInfo,{info = paramJson.heartInfo,type = 1})
  286. end
  287. end
  288. end
  289. function NativeBridgeManager:NG_AppInfo(sender, jsonString)
  290. local paramJson = cjson.decode(jsonString)
  291. if global.Facade then
  292. global.Facade:sendNotification(global.NoticeTable.SuspectInfo,{info = paramJson.appInfo,type = 3})
  293. end
  294. end
  295. function NativeBridgeManager:NG_LastServerInfo(sender, jsonString)
  296. local paramJson = cjson.decode(jsonString)
  297. self:SetLastServerID(paramJson.lastServerID)
  298. releasePrint("lastserverid = "..self:getLastServerID())
  299. if global.L_ModuleChooseManager then
  300. global.L_ModuleChooseManager:OnLastSelectServerResp()
  301. end
  302. end
  303. function NativeBridgeManager:NG_SelectGameAndRestart(sender, envString)
  304. if global.L_ModuleChooseManager then
  305. global.L_ModuleChooseManager:WriteEnvAndRestart(envString)
  306. end
  307. end
  308. function NativeBridgeManager:NG_VIPLevel(sender, jsonString)
  309. releasePrint("NG_VIPLevel = "..jsonString)
  310. local paramJson = cjson.decode(jsonString)
  311. self._isHaveVip = true
  312. self:SetVIPLevel(paramJson)
  313. end
  314. function NativeBridgeManager:NG_SceneSizeChange(sender,jsonString)
  315. local paramJson = cjson.decode(jsonString)
  316. if not paramJson then
  317. return
  318. end
  319. releasePrint("=====================NG_SceneSizeChange jsonString: ", jsonString)
  320. if global.Facade then
  321. global.Facade:sendNotification( global.NoticeTable.Scene_Size_Change, paramJson)
  322. return
  323. end
  324. global.L_GameEnvManager:OnSizeChanged(paramJson.width, paramJson.height)
  325. end
  326. function NativeBridgeManager:NG_onCubeMessageCallback(sender,jsonString)
  327. -- body
  328. if not jsonString or jsonString == "" then
  329. return
  330. end
  331. local paramJson = cjson.decode(jsonString)
  332. if not paramJson then
  333. return
  334. end
  335. if paramJson.header == "init" then
  336. -- 初始化完成检测判断是否是聚合
  337. global.L_DataRePort:OpenJuheMode()
  338. elseif paramJson.header == "deviceinfo_changed" then
  339. global.L_DataRePort:SetDeviceInfo(cjson.decode(paramJson.payload))
  340. global.L_DataRePort:SendLoginEvent()
  341. releasePrint("=====================NG_onCubeMessageCallback deviceinfo_changed: ", jsonString)
  342. end
  343. releasePrint("=====================NG_onCubeMessageCallback jsonString: ", jsonString)
  344. end
  345. function NativeBridgeManager:registerN2GMethods()
  346. local nativeBridgeCtl = NativeBridgeCtl:Inst()
  347. -- remove last selector
  348. nativeBridgeCtl:removeSelectorsInGroup("recvDataForInit")
  349. nativeBridgeCtl:removeSelectorsInGroup("SDKLoginResponse")
  350. nativeBridgeCtl:removeSelectorsInGroup("AccountOperator")
  351. nativeBridgeCtl:removeSelectorsInGroup("OverlayInstallation")
  352. nativeBridgeCtl:removeSelectorsInGroup("WifiMacRecord")
  353. nativeBridgeCtl:removeSelectorsInGroup("NativeStatus")
  354. nativeBridgeCtl:removeSelectorsInGroup("DeviceRotation")
  355. nativeBridgeCtl:removeSelectorsInGroup("AllowLaunchGame")
  356. nativeBridgeCtl:removeSelectorsInGroup("RealNameInfo")
  357. nativeBridgeCtl:removeSelectorsInGroup("LastServerInfo")
  358. nativeBridgeCtl:removeSelectorsInGroup("SDKHasBuff")
  359. nativeBridgeCtl:removeSelectorsInGroup("GameList")
  360. nativeBridgeCtl:removeSelectorsInGroup("VIPLevel")
  361. nativeBridgeCtl:removeSelectorsInGroup("sceneSizeChange")
  362. nativeBridgeCtl:removeSelectorsInGroup("CubeSDKRePort")
  363. -- register recv data callback
  364. nativeBridgeCtl:addNativeSelector("recvDataForInit", "NG_recvData", handler(self, self.onRecvDataCB), nil)
  365. -- register SDK callback
  366. nativeBridgeCtl:addNativeSelector("SDKLoginResponse", "NG_SDKLoginCB", handler(self, self.onSDKLoginCB), nil)
  367. -- register recv data callback
  368. nativeBridgeCtl:addNativeSelector("AccountOperator", "NG_Logout", handler(self, self.onLogoutCB), nil)
  369. -- register recv data callback
  370. nativeBridgeCtl:addNativeSelector("OverlayInstallation", "NG_OverlayInstallation", handler(self, self.onOverlayInstallationCB), nil)
  371. -- register mac address callback
  372. nativeBridgeCtl:addNativeSelector("WifiMacRecord", "NG_WifiMacRecv", handler(self, self.onMacAddressCB), nil)
  373. -- register native status changing callback
  374. nativeBridgeCtl:addNativeSelector("NativeStatus", "NG_NativeStatusChanged", handler(self, self.onNativeStatusChangedCB), nil)
  375. -- register device rotation changing callback
  376. nativeBridgeCtl:addNativeSelector("DeviceRotation", "NG_DeviceRotationChanged", handler(self, self.onDeviceRotationChanged), nil)
  377. -- register AllowLaunchGame
  378. nativeBridgeCtl:addNativeSelector("AllowLaunchGame", "NG_AllowLaunchGame", handler(self, self.NG_AllowLaunchGame), nil)
  379. -- register RealNameInfo
  380. nativeBridgeCtl:addNativeSelector("RealNameInfo", "NG_RealNameInfo", handler(self, self.NG_RealNameInfo), nil)
  381. -- 网易盾嫌疑数据
  382. nativeBridgeCtl:addNativeSelector("SuspectInfo", "NG_SuspectInfo", handler(self, self.NG_SuspectInfo), nil)
  383. -- 网易盾心跳数据
  384. nativeBridgeCtl:addNativeSelector("HeartInfo", "NG_HeartInfo", handler(self, self.NG_HeartInfo), nil)
  385. -- 网易盾环境风险信息
  386. nativeBridgeCtl:addNativeSelector("HeartInfo", "NG_AppInfo", handler(self, self.NG_AppInfo), nil)
  387. nativeBridgeCtl:addNativeSelector("LastServerInfo", "NG_LastServerInfo", handler(self, self.NG_LastServerInfo), nil)
  388. -- register SDK hasBuf callback
  389. nativeBridgeCtl:addNativeSelector("SDKHasBuff", "NG_HasBuff", handler(self, self.onHasBuff), nil)
  390. -- box gamelist
  391. nativeBridgeCtl:addNativeSelector("GameList", "NG_SelectGameAndRestart", handler(self, self.NG_SelectGameAndRestart), nil)
  392. -- 雷电vip
  393. nativeBridgeCtl:addNativeSelector("VIPLevel", "NG_VIPLevel", handler(self, self.NG_VIPLevel), nil)
  394. -- 小屏、全屏切换
  395. nativeBridgeCtl:addNativeSelector("sceneSizeChange","NG_SceneSizeChange", handler(self, self.NG_SceneSizeChange), nil)
  396. -- c++ 上报
  397. nativeBridgeCtl:addNativeSelector("CubeSDKRePort","NG_onCubeMessageCallback", handler(self, self.NG_onCubeMessageCallback), nil)
  398. -- notice native
  399. self:GN_initNativeFunc()
  400. end
  401. function NativeBridgeManager:GN_appLaunchNotify(data)
  402. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  403. local jsonString = (data and cjson.encode(data))
  404. local methodName = "GN_appLaunchNotify"
  405. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  406. local printJson = jsonString and jsonString or ""
  407. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  408. end
  409. end
  410. function NativeBridgeManager:GN_initNativeFunc(data)
  411. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  412. local jsonString = (data and cjson.encode(data))
  413. local methodName = "GN_initNativeFunc"
  414. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  415. local printJson = jsonString and jsonString or ""
  416. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  417. end
  418. end
  419. function NativeBridgeManager:GN_selectGameMod(data)
  420. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  421. local jsonString = (data and cjson.encode(data))
  422. local methodName = "GN_selectGameMod"
  423. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  424. local printJson = jsonString and jsonString or ""
  425. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  426. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  427. -- upload data windows
  428. if global.modBridgeController then
  429. global.modBridgeController:GN_selectGameMod(data)
  430. end
  431. end
  432. end
  433. function NativeBridgeManager:GN_accountLogin(data)
  434. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  435. local jsonString = (data and cjson.encode(data))
  436. local methodName = "GN_accountLogin"
  437. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  438. local printJson = jsonString and jsonString or ""
  439. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  440. end
  441. end
  442. function NativeBridgeManager:GN_accountLogout(data)
  443. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  444. local jsonString = (data and cjson.encode(data))
  445. local methodName = "GN_accountLogout"
  446. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  447. local printJson = jsonString and jsonString or ""
  448. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  449. end
  450. end
  451. function NativeBridgeManager:GN_onCallOF(data)
  452. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  453. local jsonString = (data and cjson.encode(data))
  454. local methodName = "GN_onCallOF"
  455. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  456. local printJson = jsonString and jsonString or ""
  457. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  458. end
  459. end
  460. function NativeBridgeManager:GN_onUserIDUpdated(data)
  461. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  462. local jsonString = (data and cjson.encode(data))
  463. local methodName = "GN_onUserIDUpdated"
  464. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  465. local printJson = jsonString and jsonString or ""
  466. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  467. end
  468. end
  469. function NativeBridgeManager:GN_checkApkUpdate(data)
  470. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  471. local jsonString = (data and cjson.encode(data))
  472. local methodName = "GN_checkApkUpdate"
  473. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  474. local printJson = jsonString and jsonString or ""
  475. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  476. end
  477. end
  478. function NativeBridgeManager:GN_onSelectServer(data)
  479. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  480. local jsonString = (data and cjson.encode(data))
  481. local methodName = "GN_onSelectServer"
  482. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  483. local printJson = jsonString and jsonString or ""
  484. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  485. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  486. -- upload data windows
  487. if global.modBridgeController then
  488. global.modBridgeController:GN_onSelectServer(data)
  489. end
  490. end
  491. end
  492. function NativeBridgeManager:GN_onNewRole(data)
  493. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  494. local jsonString = (data and cjson.encode(data))
  495. local methodName = "GN_onNewRole"
  496. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  497. local printJson = jsonString and jsonString or ""
  498. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  499. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  500. -- upload data windows
  501. if global.modBridgeController then
  502. global.modBridgeController:GN_onNewRole(data)
  503. end
  504. end
  505. end
  506. function NativeBridgeManager:GN_onEnterGame(data)
  507. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  508. local jsonString = (data and cjson.encode(data))
  509. local methodName = "GN_onEnterGame"
  510. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  511. local printJson = jsonString and jsonString or ""
  512. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  513. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  514. -- upload data windows
  515. if global.modBridgeController then
  516. global.modBridgeController:GN_onEnterGame(data)
  517. end
  518. end
  519. end
  520. function NativeBridgeManager:GN_onLevelChanged(data)
  521. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  522. local jsonString = (data and cjson.encode(data))
  523. local methodName = "GN_onLevelChanged"
  524. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  525. local printJson = jsonString and jsonString or ""
  526. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  527. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  528. -- upload data windows
  529. if global.modBridgeController then
  530. global.modBridgeController:GN_onLevelChanged(data)
  531. end
  532. end
  533. end
  534. function NativeBridgeManager:GN_onQuestIDChanged(data)
  535. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  536. local jsonString = (data and cjson.encode(data))
  537. local methodName = "GN_onQuestIDChanged"
  538. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  539. local printJson = jsonString and jsonString or ""
  540. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  541. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  542. -- upload data windows
  543. if global.modBridgeController then
  544. global.modBridgeController:GN_onQuestIDChanged(data)
  545. end
  546. end
  547. end
  548. function NativeBridgeManager:GN_buyItemWithYB(data)
  549. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  550. local jsonString = (data and cjson.encode(data))
  551. local methodName = "GN_buyItemWithYB"
  552. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  553. local printJson = jsonString and jsonString or ""
  554. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  555. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  556. -- upload data windows
  557. if global.modBridgeController then
  558. global.modBridgeController:GN_buyItemWithYB(data)
  559. end
  560. end
  561. end
  562. function NativeBridgeManager:GN_restartGame(data)
  563. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  564. if nil ~= data then
  565. local jsonString = (data and cjson.encode(data))
  566. local methodName = "GN_restartGame"
  567. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  568. local printJson = jsonString and jsonString or ""
  569. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  570. end
  571. end
  572. end
  573. function NativeBridgeManager:GN_setClipboardText(data)
  574. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  575. local jsonString = data and cjson.encode({content = data}) or ""
  576. local methodName = "GN_setClipboardText"
  577. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  578. local printJson = jsonString and jsonString or ""
  579. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  580. end
  581. end
  582. -- 友盟 进入游戏
  583. function NativeBridgeManager:GN_umengUploadEnterGame(data)
  584. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  585. local jsonString = (data and cjson.encode(data))
  586. local methodName = "GN_umengUploadEnterGame"
  587. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  588. local printJson = jsonString and jsonString or ""
  589. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  590. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  591. data = data or {}
  592. data.actionType = "2"
  593. self:PCNoticeRequest("GN_onActionGame",data)
  594. end
  595. end
  596. -- 友盟 支付
  597. function NativeBridgeManager:GN_umengUploadPay(data)
  598. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  599. local jsonString = (data and cjson.encode(data))
  600. local methodName = "GN_umengUploadPay"
  601. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  602. local printJson = jsonString and jsonString or ""
  603. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  604. end
  605. end
  606. -- 友盟 创角
  607. function NativeBridgeManager:GN_umengUploadNewRole(data)
  608. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  609. local jsonString = (data and cjson.encode(data))
  610. local methodName = "GN_umengUploadNewRole"
  611. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  612. local printJson = jsonString and jsonString or ""
  613. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  614. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  615. data = data or {}
  616. data.actionType = "1"
  617. self:PCNoticeRequest("GN_onActionGame",data)
  618. end
  619. end
  620. -- 友盟 升级
  621. function NativeBridgeManager:GN_umengUploadLevelChanged(data)
  622. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  623. local jsonString = (data and cjson.encode(data))
  624. local methodName = "GN_umengUploadLevelChanged"
  625. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  626. local printJson = jsonString and jsonString or ""
  627. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  628. end
  629. end
  630. -- 友盟 注册
  631. function NativeBridgeManager:GN_umengUploadRegister(data)
  632. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  633. local jsonString = (data and cjson.encode(data))
  634. local methodName = "GN_umengUploadRegister"
  635. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  636. local printJson = jsonString and jsonString or ""
  637. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  638. end
  639. end
  640. -- 友盟 发起充值
  641. function NativeBridgeManager:GN_umengSubmitPay(data)
  642. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  643. local jsonString = (data and cjson.encode(data))
  644. local methodName = "GN_umengSubmitPay"
  645. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  646. local printJson = jsonString and jsonString or ""
  647. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  648. end
  649. end
  650. -- 友盟 充值成功
  651. function NativeBridgeManager:GN_umengFinishPay(data)
  652. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  653. local jsonString = (data and cjson.encode(data))
  654. local methodName = "GN_umengFinishPay"
  655. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  656. local printJson = jsonString and jsonString or ""
  657. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  658. end
  659. end
  660. -- 打开qq
  661. function NativeBridgeManager:GN_startQQ(data)
  662. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  663. local jsonString = (data and cjson.encode(data))
  664. local methodName = "GN_startQQ"
  665. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  666. local printJson = jsonString and jsonString or ""
  667. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  668. end
  669. end
  670. -- 加qq
  671. function NativeBridgeManager:GN_joinQQ(data)
  672. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  673. local jsonString = (data and cjson.encode(data))
  674. local methodName = "GN_joinQQ"
  675. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  676. local printJson = jsonString and jsonString or ""
  677. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  678. end
  679. end
  680. -- 加入qq群
  681. function NativeBridgeManager:GN_joinQQGroup(data)
  682. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  683. local jsonString = (data and cjson.encode(data))
  684. local methodName = "GN_joinQQGroup"
  685. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  686. local printJson = jsonString and jsonString or ""
  687. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  688. end
  689. end
  690. -- 打开wx
  691. function NativeBridgeManager:GN_startWX(data)
  692. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  693. local jsonString = (data and cjson.encode(data))
  694. local methodName = "GN_startWX"
  695. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  696. local printJson = jsonString and jsonString or ""
  697. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  698. end
  699. end
  700. -- 加入wx公众号
  701. function NativeBridgeManager:GN_joinWXGroup(data)
  702. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  703. local jsonString = (data and cjson.encode(data))
  704. local methodName = "GN_joinWXGroup"
  705. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  706. local printJson = jsonString and jsonString or ""
  707. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  708. end
  709. end
  710. -- 盒子 返回盒子
  711. function NativeBridgeManager:GN_finishGame(data)
  712. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  713. local jsonString = (data and cjson.encode(data))
  714. local methodName = "GN_finishGame"
  715. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  716. local printJson = jsonString and jsonString or ""
  717. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  718. end
  719. end
  720. -- 盒子 区服大厅
  721. function NativeBridgeManager:GN_GameList(data)
  722. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  723. local jsonString = (data and cjson.encode(data))
  724. local methodName = "GN_GameList"
  725. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  726. local printJson = jsonString and jsonString or ""
  727. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  728. end
  729. end
  730. -- 请求启动游戏
  731. function NativeBridgeManager:GN_requestAllowLaunch(data)
  732. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  733. local jsonString = (data and cjson.encode(data))
  734. local methodName = "GN_requestAllowLaunch"
  735. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  736. local printJson = jsonString and jsonString or ""
  737. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  738. elseif cc.PLATFORM_OS_WINDOWS == global.Platform then
  739. self:PCNoticeRequest("GN_onPlayGame",data or {})
  740. end
  741. end
  742. -- 请求实名
  743. function NativeBridgeManager:GN_requestRealName(data)
  744. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  745. local jsonString = (data and cjson.encode(data))
  746. local methodName = "GN_requestRealName"
  747. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  748. local printJson = jsonString and jsonString or ""
  749. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  750. end
  751. end
  752. -- 请求获取嫌疑数据
  753. function NativeBridgeManager:GN_requestSuspectInfo(data)
  754. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  755. local jsonString = (data and cjson.encode(data))
  756. local methodName = "GN_requestSuspectInfo"
  757. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  758. local printJson = jsonString and jsonString or ""
  759. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  760. end
  761. end
  762. -- 初始化易盾外挂sdk
  763. function NativeBridgeManager:GN_requestInitYD(data)
  764. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  765. local jsonString = (data and cjson.encode(data))
  766. local methodName = "GN_requestInitYD"
  767. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  768. local printJson = jsonString and jsonString or ""
  769. release_print("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  770. end
  771. end
  772. -- 上报心跳
  773. function NativeBridgeManager:GN_requestHeartBeat( data )
  774. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  775. self:PCNoticeRequest( "GN_onHeartbeat",data or {} )
  776. end
  777. end
  778. -- 获取平台VIP等级
  779. function NativeBridgeManager:GN_getVIPLevel( data )
  780. if cc.PLATFORM_OS_ANDROID == global.Platform then
  781. local jsonString = (data and cjson.encode(data))
  782. local methodName = "GN_getVIPLevel"
  783. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  784. local printJson = jsonString and jsonString or ""
  785. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  786. end
  787. end
  788. function NativeBridgeManager:PCCheckMedthodName(methodName)
  789. if not methodName or cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  790. return false
  791. end
  792. if sdkUtil and sdkUtil["getInstance"] and sdkUtil[methodName] then
  793. return true
  794. end
  795. return false
  796. end
  797. function NativeBridgeManager:PCNoticeRequest(methodName,data)
  798. local ret = nil
  799. if self:PCCheckMedthodName(methodName) then
  800. local jsonString = ""
  801. local obj = sdkUtil:getInstance()
  802. if obj and obj[methodName] then
  803. if data and type(data) == "table" then
  804. local jsonString = (data and cjson.encode(data)) or ""
  805. ret = obj[methodName](obj,jsonString)
  806. else
  807. ret = obj[methodName](obj)
  808. end
  809. release_print("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. jsonString)
  810. end
  811. end
  812. return ret
  813. end
  814. -- 实名检测返回
  815. function PC_GN_checkRealNameCB( jsonStr )
  816. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  817. local jsonData = cjson.decode( jsonStr or "")
  818. local methodName = "PC_GN_checkRealNameCB"
  819. local printJson = jsonStr and jsonStr or ""
  820. release_print("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  821. if jsonData and next(jsonData) and tonumber(jsonData.result) == 0 then
  822. -- 退出游戏
  823. cc.Director:getInstance():endToLua()
  824. return
  825. end
  826. global.L_ModuleChooseManager:LaunchModule()
  827. else
  828. global.L_ModuleChooseManager:LaunchModule()
  829. end
  830. end
  831. -- 注销账号
  832. function NativeBridgeManager:GN_deleteAccount(data)
  833. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  834. local jsonString = data and cjson.encode(data) or ""
  835. local methodName = "GN_deleteAccount"
  836. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  837. local printJson = jsonString and jsonString or ""
  838. release_print("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  839. end
  840. end
  841. -- 被顶号
  842. function NativeBridgeManager:GN_otherClientLogin(data)
  843. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  844. local jsonString = ""
  845. local methodName = "GN_otherClientLogin"
  846. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  847. local printJson = jsonString and jsonString or ""
  848. release_print("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  849. end
  850. end
  851. -- 云手机发送信息
  852. function NativeBridgeManager:GN_sendCloudLoginMes(data)
  853. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  854. local jsonString = (data and cjson.encode(data))
  855. local methodName = "GN_sendCloudLoginMes"
  856. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  857. local printJson = jsonString and jsonString or ""
  858. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  859. end
  860. end
  861. -- 自定义数据上报
  862. function NativeBridgeManager:GN_customRePortData(data)
  863. if PLATFORM_OS_WINDOWS ~= global.Platform then
  864. local jsonString = (data and cjson.encode(data))
  865. local methodName = "GN_customRePortData"
  866. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  867. local printJson = jsonString and jsonString or ""
  868. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  869. end
  870. end
  871. -- PC关闭按钮状态
  872. -- @param data table {state=1: 能关闭(默认), 0: 不能关闭}
  873. function NativeBridgeManager:GN_IsCan_Windown_Close_State( data )
  874. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  875. local jsonString = data and cjson.encode(data) or ""
  876. local methodName = "GN_IsCan_Windown_Close_State"
  877. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  878. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. jsonString)
  879. end
  880. end
  881. -- 游戏开始启动
  882. function NativeBridgeManager:GN_LaunchGame( data )
  883. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  884. local jsonString = (data and cjson.encode(data))
  885. local methodName = "GN_LaunchGame"
  886. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  887. local printJson = jsonString and jsonString or ""
  888. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  889. end
  890. end
  891. -- 加载游戏必要的信息
  892. function NativeBridgeManager:GN_LoadGameInfo( data )
  893. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  894. local jsonString = (data and cjson.encode(data))
  895. local methodName = "GN_LoadGameInfo"
  896. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  897. local printJson = jsonString and jsonString or ""
  898. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  899. end
  900. end
  901. -- modlist加载完成
  902. function NativeBridgeManager:GN_LoadModlistFinish( data )
  903. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  904. local jsonString = (data and cjson.encode(data))
  905. local methodName = "GN_LoadModlistFinish"
  906. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  907. local printJson = jsonString and jsonString or ""
  908. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  909. end
  910. end
  911. -- modlist加载完成
  912. function NativeBridgeManager:GN_LoadLauncherModeFinish( data )
  913. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  914. local jsonString = (data and cjson.encode(data))
  915. local methodName = "GN_LoadLauncherModeFinish"
  916. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  917. local printJson = jsonString and jsonString or ""
  918. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  919. end
  920. end
  921. -- 上报游戏相关信息到移动端
  922. function NativeBridgeManager:GN_SendGameInfo( data )
  923. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  924. local jsonString = (data and cjson.encode(data))
  925. local methodName = "GN_SendGameInfo"
  926. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  927. local printJson = jsonString and jsonString or ""
  928. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  929. end
  930. end
  931. -- 云手机悬浮框tips
  932. function NativeBridgeManager:GN_showTipsView( data )
  933. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  934. local jsonString = (data and cjson.encode(data))
  935. local methodName = "GN_showTipsView"
  936. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  937. local printJson = jsonString and jsonString or ""
  938. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  939. end
  940. end
  941. -- 发送数据到云手机sdk
  942. function NativeBridgeManager:GN_sendDataToSDK( data )
  943. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  944. local jsonString = (data and cjson.encode(data))
  945. local methodName = "GN_sendDataToSDK"
  946. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  947. local printJson = jsonString and jsonString or ""
  948. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName .. " " .. printJson)
  949. end
  950. end
  951. -- 多版本通知sdk
  952. function NativeBridgeManager:GN_SDKinit( data )
  953. if cc.PLATFORM_OS_WINDOWS ~= global.Platform then
  954. local jsonString = (data and cjson.encode(data))
  955. local methodName = "GN_SDKinit"
  956. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  957. local printJson = jsonString and jsonString or ""
  958. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName)
  959. end
  960. end
  961. -- 初始化c++上报
  962. function NativeBridgeManager:GN_InitClientCube( data )
  963. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  964. local jsonString = data and cjson.encode(data) or ""
  965. local methodName = "GN_InitClientCube"
  966. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  967. local printJson = jsonString and jsonString or ""
  968. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName)
  969. end
  970. end
  971. -- 上报数据 c++
  972. function NativeBridgeManager:GN_SendLogGroupCube( data )
  973. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  974. local jsonString = data and cjson.encode(data) or ""
  975. local methodName = "GN_SendLogGroupCube"
  976. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  977. local printJson = jsonString and jsonString or ""
  978. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName)
  979. end
  980. end
  981. -- 聚合SDK模块
  982. function NativeBridgeManager:GN_OpenJuheMode( data )
  983. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  984. local jsonString = data and cjson.encode(data) or ""
  985. local methodName = "GN_OpenJuheMode"
  986. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  987. local printJson = jsonString and jsonString or ""
  988. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName)
  989. end
  990. end
  991. -- 多版本更改boxid相关数据
  992. function NativeBridgeManager:GN_UpdateDeviceInfo(data)
  993. if cc.PLATFORM_OS_WINDOWS == global.Platform then
  994. local jsonString = data and cjson.encode(data) or ""
  995. local methodName = "GN_UpdateDeviceInfo"
  996. NativeBridgeCtl:Inst():sendMessage2Native(methodName, jsonString)
  997. local printJson = jsonString and jsonString or ""
  998. releasePrint("+++++++++++++++++++++++++++++++++++++ " .. methodName)
  999. end
  1000. end
  1001. return NativeBridgeManager