Forráskód Böngészése

feat:游戏碰撞优化

zouwuqiang 1 éve
szülő
commit
196e94800c

+ 15 - 15
assets/bundle/gui/game/game.prefab

@@ -939,7 +939,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 251.17200000000003,
-      "y": 70.32099999999997,
+      "y": 103.32099999999997,
       "z": 0
     },
     "_lrot": {
@@ -1075,7 +1075,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": -224.666,
-      "y": 69.745,
+      "y": 102.745,
       "z": 0
     },
     "_lrot": {
@@ -1211,7 +1211,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 9.266,
-      "y": 71.244,
+      "y": 104.244,
       "z": 0
     },
     "_lrot": {
@@ -1350,7 +1350,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 248.46799999999996,
-      "y": 115.37399999999997,
+      "y": 148.37399999999997,
       "z": 0
     },
     "_lrot": {
@@ -1513,7 +1513,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": -229.169,
-      "y": 115.37399999999997,
+      "y": 148.37399999999997,
       "z": 0
     },
     "_lrot": {
@@ -1676,7 +1676,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 7.237000000000023,
-      "y": 115.37399999999997,
+      "y": 148.37399999999997,
       "z": 0
     },
     "_lrot": {
@@ -1836,7 +1836,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 247.981,
-      "y": 0,
+      "y": 20,
       "z": 0
     },
     "_lrot": {
@@ -1848,8 +1848,8 @@
     },
     "_lscale": {
       "__type__": "cc.Vec3",
-      "x": 0.5,
-      "y": 0.5,
+      "x": 0.6,
+      "y": 0.6,
       "z": 0.5
     },
     "_mobility": 0,
@@ -1972,7 +1972,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": -224.598,
-      "y": 0,
+      "y": 20,
       "z": 0
     },
     "_lrot": {
@@ -1984,8 +1984,8 @@
     },
     "_lscale": {
       "__type__": "cc.Vec3",
-      "x": 0.5,
-      "y": 0.5,
+      "x": 0.6,
+      "y": 0.6,
       "z": 1
     },
     "_mobility": 0,
@@ -2108,7 +2108,7 @@
     "_lpos": {
       "__type__": "cc.Vec3",
       "x": 11.691500000000019,
-      "y": 0,
+      "y": 20,
       "z": 0
     },
     "_lrot": {
@@ -2120,8 +2120,8 @@
     },
     "_lscale": {
       "__type__": "cc.Vec3",
-      "x": 0.5,
-      "y": 0.5,
+      "x": 0.6,
+      "y": 0.6,
       "z": 0.5
     },
     "_mobility": 0,

+ 5 - 2
assets/script/Main.ts

@@ -21,7 +21,8 @@ import { EcsVehicleSystem } from './game/vehicle/Vehicle';
 import { AdManager } from './platform/ad/AdManager';
 import { EcsSubwaySystem } from './game/subway/Subway';
 import { LaunchManager } from './platform/launch/LaunchManager';
-import { ttZtSdk } from './game/common/utils/ttztsdk';
+import { TTZtSdk } from './game/common/utils/ttztsdk';
+import { DataSdk, REPORT_EVENT } from './game/common/utils/datasdk';
 
 const { ccclass, property } = _decorator;
 
@@ -33,9 +34,11 @@ export class Main extends Root {
 
     protected run() {
         smc.initialize = ecs.getEntity<Initialize>(Initialize);
-        ttZtSdk.reportActive()
+        TTZtSdk.reportActive()
+        DataSdk.initReport()
         AdManager.getInstance().initRewardVideoAd();
         LaunchManager.getInstance().onShow()
+        DataSdk.reportEvent(REPORT_EVENT.ENTER_GAME)
    
     }
 

+ 2 - 0
assets/script/game/account/bll/AccountInit.ts

@@ -7,6 +7,7 @@ import { AccountModelComp } from "../model/AccountModelComp";
 import { UIID } from "../../common/config/GameUIConfig";
 import { VibrationManager } from "../../../platform/vibration/VibrationManager";
 import { AdManager } from "../../../platform/ad/AdManager";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 /** 请求玩家游戏数据 */
 @ecs.register('AccountInit')
@@ -47,6 +48,7 @@ export class AccountInitSystem extends ecs.ComblockSystem implements ecs.IEntity
         VibrationManager.getInstance().switchVibration = e.AccountModelSetting.vm.vibrationOn
         this.createLevel(e, data);
         e.remove(AccountInitComp);
+        DataSdk.reportEvent(REPORT_EVENT.ENTER_LEVEL,data.lv)
     }
 
     /** 创建关卡对象(自定义逻辑) */

+ 7 - 0
assets/script/game/checkpoint/bll/CheckpointCheck.ts

@@ -9,6 +9,8 @@ import { VehicleOperationComp } from "./VehicleOperation";
 import { CheckpointUpgradeComp } from "./CheckpointUpgrade";
 import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
 import { UIID } from "../../common/config/GameUIConfig";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
+import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 
 /**
  * 通关
@@ -43,6 +45,7 @@ export class CheckpointCheckSystem extends ecs.ComblockSystem implements ecs.IEn
         const passComp = e.get(CheckpointCheckPassComp)
         const failComp = e.get(CheckpointCheckFailComp)
         if(passComp){
+            DataSdk.reportEvent(REPORT_EVENT.LEVEL_PASS,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
             oops.audio.playEffect('common/audio/level_complete')
             e.upgrade()
             oops.gui.open(UIID.LevelPass)
@@ -50,6 +53,10 @@ export class CheckpointCheckSystem extends ecs.ComblockSystem implements ecs.IEn
             return
         }
         if(failComp){
+            DataSdk.reportEvent(REPORT_EVENT.LEVEL_FAIL,JSON.stringify({
+                lv:ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv,
+                peopleCount:ecs.getSingleton(SingletonModuleComp).account?.checkpoint?.CheckpointModel?.peopleCount
+            }))
             oops.gui.open(UIID.LevelFail)
             this.exit(e)
             return

+ 3 - 0
assets/script/game/checkpoint/view/CheckpointAddCellViewComp.ts

@@ -9,6 +9,7 @@ import { UIID } from "../../common/config/GameUIConfig";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { AdManager } from "../../../platform/ad/AdManager";
 import { AddCellOperationComp } from "../bll/AddCellOperation";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -59,6 +60,7 @@ export class CheckpointAddCellViewComp extends CCComp {
                     oops.gui.remove(UIID.AddCell);
                     return
                 }
+                DataSdk.reportEvent(REPORT_EVENT.START_ADD_CELL_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(AddCellOperationComp)
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.addCellCount+=1
                 AdManager.getInstance().showRewardVideoAd(()=>{
@@ -66,6 +68,7 @@ export class CheckpointAddCellViewComp extends CCComp {
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(AddCellOperationComp)
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.addCellCount+=1
                     oops.gui.remove(UIID.AddCell);
+                    DataSdk.reportEvent(REPORT_EVENT.END_ADD_CELL_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 })
                 break;
         }

+ 3 - 0
assets/script/game/checkpoint/view/CheckpointClearViewComp.ts

@@ -8,6 +8,7 @@ import { UIID } from "../../common/config/GameUIConfig";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { AdManager } from "../../../platform/ad/AdManager";
 import { ClearCellOperationComp } from "../bll/ClearCellOperation";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -60,11 +61,13 @@ export class CheckpointClearViewComp extends CCComp {
                 }
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(ClearCellOperationComp)
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.clearCount+=1
+                DataSdk.reportEvent(REPORT_EVENT.START_CLEAR_CELL_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 AdManager.getInstance().showRewardVideoAd(()=>{
                     console.log('成功看完广告')
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(ClearCellOperationComp)
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.clearCount+=1
                     oops.gui.remove(UIID.ClearCell);
+                    DataSdk.reportEvent(REPORT_EVENT.END_CLEAR_CELL_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 })
                 break;
         }

+ 3 - 0
assets/script/game/checkpoint/view/CheckpointLeaveViewComp.ts

@@ -8,6 +8,7 @@ import { UIID } from "../../common/config/GameUIConfig";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { AdManager } from "../../../platform/ad/AdManager";
 import { FullVehicleOperationComp } from "../bll/FullVehicleOperation";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -60,11 +61,13 @@ export class CheckpointLeaveViewComp extends CCComp {
                 }
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(FullVehicleOperationComp)
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.leaveCount += 1
+                DataSdk.reportEvent(REPORT_EVENT.START_LEAVE_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 AdManager.getInstance().showRewardVideoAd(() => {
                     console.log('成功看完广告')
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(FullVehicleOperationComp)
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.leaveCount += 1
                     oops.gui.remove(UIID.VehicleLeave);
+                    DataSdk.reportEvent(REPORT_EVENT.END_LEAVE_AD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 })
                 break;
         }

+ 5 - 0
assets/script/game/checkpoint/view/CheckpointMainViewComp.ts

@@ -17,6 +17,7 @@ import { AdManager } from "../../../platform/ad/AdManager";
 import { ClearCellOperationComp } from "../bll/ClearCellOperation";
 import { AddCellOperationComp } from "../bll/AddCellOperation";
 import { FullVehicleOperationComp } from "../bll/FullVehicleOperation";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -132,6 +133,7 @@ export class CheckpointMainViewComp extends CCComp {
                     return
                 }
                 oops.gui.open(UIID.ClearCell);
+                DataSdk.reportEvent(REPORT_EVENT.CLICK_CLEAR_CELL,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 // if (sys.platform === sys.Platform.WECHAT_GAME) {
                 //     oops.gui.open(UIID.ClearCell);
                 // } else {
@@ -149,6 +151,7 @@ export class CheckpointMainViewComp extends CCComp {
                     return
                 }
                 oops.gui.open(UIID.AddCell);
+                DataSdk.reportEvent(REPORT_EVENT.CLICK_ADD_CELL,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 // if (sys.platform === sys.Platform.WECHAT_GAME) {
                     // oops.gui.open(UIID.AddCell);
                 // } else {
@@ -169,6 +172,7 @@ export class CheckpointMainViewComp extends CCComp {
                     return
                 }
                 oops.gui.open(UIID.VehicleLeave);
+                DataSdk.reportEvent(REPORT_EVENT.CLICK_LEAVE,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 // if (sys.platform === sys.Platform.WECHAT_GAME) {
                     // oops.gui.open(UIID.VehicleLeave);
                 // } else {
@@ -181,6 +185,7 @@ export class CheckpointMainViewComp extends CCComp {
                 break;
             case "btn_reward":
                 oops.gui.open(UIID.SideReward);
+                DataSdk.reportEvent(REPORT_EVENT.OPEN_REWARD,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 break;
         }
 

+ 11 - 3
assets/script/game/checkpoint/view/CheckpointRecoveryViewComp.ts

@@ -9,6 +9,7 @@ import { SingletonModuleComp, smc } from "../../common/SingletonModuleComp";
 import { AdManager } from "../../../platform/ad/AdManager";
 import { CheckpointCheckFailComp } from "../bll/CheckpointCheck";
 import { AddCellOperationComp } from "../bll/AddCellOperation";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -44,12 +45,13 @@ export class CheckpointRecoveryViewComp extends CCComp {
             // .delay(0.1)
             .to(0.3, { scale: new Vec3(0.5, 0.5, 1) }, { easing: easing.backOut }) // 缩放动画
             .start(); // 开始动画
+        DataSdk.reportEvent(REPORT_EVENT.OPEN_RECOVERY, ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
     }
 
     private onTouchEnd(event: EventTouch) {
         switch (event.target.name) {
             case "btn_close":
-                if(!this.adFinished) smc.initialize.account.checkpoint.add(CheckpointCheckFailComp)
+                if (!this.adFinished) smc.initialize.account.checkpoint.add(CheckpointCheckFailComp)
                 oops.gui.remove(UIID.Recovery);
                 break;
             case "btn_giveup":
@@ -60,12 +62,18 @@ export class CheckpointRecoveryViewComp extends CCComp {
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(AddCellOperationComp)
                 // ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.addCellCount+=1
                 // oops.gui.remove(UIID.Recovery);
-                AdManager.getInstance().showRewardVideoAd(()=>{
+                DataSdk.reportEvent(REPORT_EVENT.CLICK_RECOVERY, JSON.stringify({
+                    lv: ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv,
+                    peopleCount: ecs.getSingleton(SingletonModuleComp).account?.checkpoint?.CheckpointModel?.peopleCount
+                }))
+                DataSdk.reportEvent(REPORT_EVENT.START_ADD_CELL_AD, ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
+                AdManager.getInstance().showRewardVideoAd(() => {
                     console.log('成功看完广告')
                     ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(AddCellOperationComp)
-                    ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.addCellCount+=1
+                    ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelBase.vm.addCellCount += 1
                     this.adFinished = true
                     oops.gui.remove(UIID.Recovery);
+                    DataSdk.reportEvent(REPORT_EVENT.END_ADD_CELL_AD, ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 })
                 break;
         }

+ 2 - 0
assets/script/game/checkpoint/view/CheckpointSettingViewComp.ts

@@ -13,6 +13,7 @@ import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/m
 import { UIID } from "../../common/config/GameUIConfig";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { InitCheckpointComp } from "../bll/InitCheckpoint";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -67,6 +68,7 @@ export class CheckpointSettingViewComp extends CCComp {
             case "btn_restart":
                 const checkpoint = ecs.getSingleton(SingletonModuleComp).account.checkpoint;
                 checkpoint.add(InitCheckpointComp)
+                DataSdk.reportEvent(REPORT_EVENT.LEVEL_REST,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 break;
             case "btn_close":
                 oops.gui.remove(UIID.Setting);

+ 2 - 0
assets/script/game/checkpoint/view/CheckpointSideRewardViewComp.ts

@@ -11,6 +11,7 @@ import { CheckpointCheckFailComp } from "../bll/CheckpointCheck";
 import { AddCellOperationComp } from "../bll/AddCellOperation";
 import { LaunchManager } from "../../../platform/launch/LaunchManager";
 import { GameEvent } from "../../common/config/GameEvent";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -77,6 +78,7 @@ export class CheckpointSideRewardViewComp extends CCComp {
                         // 跳转失败回调逻辑
                     },
                 });
+                DataSdk.reportEvent(REPORT_EVENT.CLICK_SIDEBAR,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
                 break;
             case "btn_reward":
                 if (smc.initialize.account.AccountModel.reward) {

+ 2 - 0
assets/script/game/checkpoint/view/CheckpointSkinItem.ts

@@ -3,6 +3,7 @@ import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs
 import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { SkinChangeComp } from "../bll/SkinChange";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 const { ccclass, property } = _decorator;
 
@@ -39,6 +40,7 @@ export class CheckpointSkinItemViewComp extends CCComp {
         const comp = ecs.getSingleton(SingletonModuleComp).account.checkpoint.add(SkinChangeComp)
         comp.skinId = this.id
         event.propagationStopped = true;
+        DataSdk.reportEvent(REPORT_EVENT.CLICK_CHANGE_SKIN,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
     }
 
     protected lateUpdate(dt: number): void {

+ 2 - 0
assets/script/game/checkpoint/view/CheckpointSkinViewComp.ts

@@ -7,6 +7,7 @@ import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/m
 import { UIID } from "../../common/config/GameUIConfig";
 import { SingletonModuleComp } from "../../common/SingletonModuleComp";
 import { CheckpointSkinItemViewComp } from "./CheckpointSkinItem";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -39,6 +40,7 @@ export class CheckpointSkinViewComp extends CCComp {
             // .delay(0.1)
             .to(0.3, { scale: new Vec3(0.5, 0.5, 1) }, { easing: easing.backOut }) // 缩放动画
             .start(); // 开始动画
+        DataSdk.reportEvent(REPORT_EVENT.OPEN_CHANGE_SKIN,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
     }
 
     private onTouchEnd(event: EventTouch) {

+ 3 - 0
assets/script/game/common/config/GameBase.ts

@@ -0,0 +1,3 @@
+export const BaseUrl = 'https://ooxxgame.com/'
+
+export const Version = "0.0.4"

+ 9 - 0
assets/script/game/common/config/GameBase.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "9137dcda-b658-4019-8d10-adaa488382bc",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 94 - 0
assets/script/game/common/utils/datasdk.ts

@@ -0,0 +1,94 @@
+import { sys } from "cc";
+
+export enum REPORT_EVENT {
+    ENTER_GAME = '进入游戏',
+    LOAD_COMPLETE = '加载完成',
+
+    ENTER_LEVEL = '进入关卡',
+    LEVEL_PASS = '关卡通过',
+    LEVEL_FAIL = '关卡失败',
+    LEVEL_REST = '重置关卡',
+
+    CLICK_LEAVE = '点击直接开走按钮',
+    CLICK_ADD_CELL = '点击加两个格按钮',
+    CLICK_CLEAR_CELL = '点击清理格子按钮',
+
+    START_ADD_CELL_AD = '拉起加两个格广告',
+    START_LEAVE_AD = '拉起直接开走广告',
+    START_CLEAR_CELL_AD = '拉起清空格子广告',
+
+    END_ADD_CELL_AD = '看完加两个格广告',
+    END_LEAVE_AD = '看完直接开走广告',
+    END_CLEAR_CELL_AD = '看完清空格子广告',
+
+    OPEN_RECOVERY = '打开复活窗口',
+    CLICK_RECOVERY = '点击复活按钮',
+    OPEN_REWARD = '点击限时福利',
+    CLICK_SIDEBAR = '点击从侧边栏进入',
+
+    OPEN_CHANGE_SKIN = '打开换肤窗口',
+    CLICK_CHANGE_SKIN = '点击换肤按钮',
+}
+
+export class DataSdk {
+    private static SaveKey = "ttzt_ext"
+    private static ReportURL = "https://dataapi.uwotao.com/api/v1/game/report"
+
+    private static extend: { [k: string]: any } = {};
+    public static get openid() { return this.extend && this.extend.openid }
+
+
+    public static initReport(openid?: string) {
+        if (typeof window.tt === 'undefined' || !tt) {
+            console.log("#### DataSdk #### 非字节平台不初始化")
+            return;
+        }
+        console.log("#### DataSdk #### 初始化")
+        // 加载历史记录
+        let savedata = sys.localStorage.getItem(this.SaveKey);
+        console.log("#### DataSdk #### 读取旧数据", savedata)
+        if (savedata) {
+            this.extend = JSON.parse(savedata)
+        }
+
+        // 如果已经激活, 不重复上报
+        if (DataSdk.openid) {
+            console.log("#### DataSdk #### 激活已经上报,不重复上报, openid:", DataSdk.openid)
+            return;
+        }
+
+        let options = tt.getLaunchOptionsSync();
+        let queryStr = JSON.stringify(options.query)
+        let appid = options.extra.appId || options.query.appId
+        console.debug("#### DataSdk #### appid:", appid, "query:", queryStr);
+        if (openid) {
+            DataSdk.extend = {}
+            DataSdk.extend.openid = openid;
+        }
+    }
+
+
+    public static reportEvent(event: REPORT_EVENT, param: any='') {
+        try {
+            tt.request({
+                url: DataSdk.ReportURL,
+                data: {
+                    openid: DataSdk.openid,
+                    eventName: event,
+                    msg: `${param}`
+                },
+                header: { "content-type": "application/json" },
+                method: "POST",
+                success: (res: any) => {
+                    console.log("#### DataSdk #### 数据上报成功", res.data)
+                },
+                fail: (res: any) => {
+                    console.log("#### DataSdk #### 数据上报失败", res.errMsg)
+                },
+            })
+        } catch (error) {
+            console.log("#### DataSdk #### 数据上报请求错误")
+        }
+       
+    }
+}

+ 9 - 0
assets/script/game/common/utils/datasdk.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.23",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "b13a4b87-963b-43b4-8f7b-ebb800a9e98f",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 53 - 39
assets/script/game/common/utils/ttztsdk.ts

@@ -1,6 +1,7 @@
 import { sys } from "cc";
+import { DataSdk } from "./datasdk";
 
-export class ttZtSdk {
+export class TTZtSdk {
     private static SaveKey = "ttzt_ext"
     private static ReportURL = "https://api.zt.y73s.cn/api/v1/conversion"
 
@@ -8,62 +9,75 @@ export class ttZtSdk {
     public static get openid() { return this.extend && this.extend.openid }
     public static get clickid() { return this.extend && this.extend.clickid }
 
-    public static reportActive() {
+    public static reportActive(openid?: string) {
         if (typeof window.tt === 'undefined' || !tt) {
-            console.log("#### ttZtSdk #### 非字节平台不初始化")
+            console.log("#### TTZtSdk #### 非字节平台不初始化")
             return;
         }
-        console.log("#### ttZtSdk #### 初始化")
+        console.log("#### TTZtSdk #### 初始化")
         // 加载历史记录
         let savedata = sys.localStorage.getItem(this.SaveKey);
-        console.log("#### ttZtSdk #### 读取旧数据", savedata)
+        console.log("#### TTZtSdk #### 读取旧数据", savedata)
         if (savedata) {
             this.extend = JSON.parse(savedata)
         }
 
         // 如果已经激活, 不重复上报
-        if (ttZtSdk.openid) {
-            console.log("#### ttZtSdk #### 激活已经上报,不重复上报, openid:", ttZtSdk.openid, "clickid:", ttZtSdk.clickid)
+        if (TTZtSdk.openid) {
+            console.log("#### TTZtSdk #### 激活已经上报,不重复上报, openid:", TTZtSdk.openid, "clickid:", TTZtSdk.clickid)
             return;
         }
 
-        tt.login({
-            force: true,
-            success: (res: any) => {
-                console.debug(`#### ttZtSdk #### login 调用成功code:${res.code} a_code:${res.anonymousCode}`);
-                let options = tt.getLaunchOptionsSync();
-                let queryStr = JSON.stringify(options.query)
-                let appid = options.extra.appId || options.query.appId
-                console.debug("#### ttZtSdk #### appid:", appid, "query:", queryStr);
-                tt.request({
-                    url: ttZtSdk.ReportURL,
-                    data: {
+        let options = tt.getLaunchOptionsSync();
+        let queryStr = JSON.stringify(options.query)
+        let appid = options.extra.appId || options.query.appId
+        console.debug("#### TTZtSdk #### appid:", appid, "query:", queryStr);
+        if (openid) {
+            this.reportActive$({
+                appid: appid, // 请求来源:appid
+                openid: openid,
+                active_data: queryStr, // 激活相关数据 json字符串
+            });
+        } else {
+            tt.login({
+                force: true,
+                success: (res: any) => {
+                    console.debug(`#### TTZtSdk #### login 调用成功code:${res.code} a_code:${res.anonymousCode}`);
+                    this.reportActive$({
+                        appid: appid, // 请求来源:appid
                         code: res.code,
                         anonvmous_code: res.anonymousCode,
-                        appid: appid, // 请求来源:appid
                         active_data: queryStr, // 激活相关数据 json字符串
-                    },
-                    header: { "content-type": "application/json" },
-                    method: "POST",
-                    success: (res: any) => {
-                        console.log("#### ttZtSdk #### 数据上报成功", res.data)
-                        if (res.data.code == 0) {
-                            ttZtSdk.extend = {}
-                            ttZtSdk.extend.openid = res.data.data.openid;
-                            ttZtSdk.extend.clickid = res.data.data.clickid;
-                            let extStr = JSON.stringify(ttZtSdk.extend)
-                            console.log("#### ttZtSdk #### ext:", extStr)
-                            sys.localStorage.setItem(this.SaveKey, extStr)
-                        }
-                    },
-                    fail: (res: any) => {
-                        console.log("#### ttZtSdk #### 数据上报失败", res.errMsg)
-                    },
-                })
+                    });
+                },
+                fail: (res: any) => {
+                    console.debug(`#### TTZtSdk #### login调用失败`, res);
+                },
+            });
+        }
+    }
+
+    private static reportActive$(param: any) {
+        tt.request({
+            url: TTZtSdk.ReportURL,
+            data: param,
+            header: { "content-type": "application/json" },
+            method: "POST",
+            success: (res: any) => {
+                console.log("#### TTZtSdk #### 数据上报成功", res.data)
+                if (res.data.code == 0) {
+                    TTZtSdk.extend = {}
+                    TTZtSdk.extend.openid = res.data.data.openid;
+                    TTZtSdk.extend.clickid = res.data.data.clickid;
+                    let extStr = JSON.stringify(TTZtSdk.extend)
+                    console.log("#### TTZtSdk #### ext:", extStr)
+                    sys.localStorage.setItem(this.SaveKey, extStr)
+                    DataSdk.initReport(res.data.data.openid)
+                }
             },
             fail: (res: any) => {
-                console.debug(`#### ttZtSdk #### login调用失败`, res);
+                console.log("#### TTZtSdk #### 数据上报失败", res.errMsg)
             },
-        });
+        })
     }
 }

+ 9 - 2
assets/script/game/initialize/view/LoadingViewComp.ts

@@ -4,7 +4,7 @@
  * @LastEditors: dgflash
  * @LastEditTime: 2022-08-10 18:07:35
  */
-import { AssetManager, _decorator } from "cc";
+import { AssetManager, _decorator, sys } from "cc";
 import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
 import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
 import { CCVMParentComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCVMParentComp";
@@ -13,6 +13,8 @@ import { JsonUtil } from "../../../../../extensions/oops-plugin-framework/assets
 import { TableCheckpointLevel } from "../../common/table/TableCheckpointLevel";
 import { smc } from "../../common/SingletonModuleComp";
 import { AccountInitComp } from "../../account/bll/AccountInit";
+import { BaseUrl, Version } from "../../common/config/GameBase";
+import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
 
 
 const { ccclass, property } = _decorator;
@@ -67,7 +69,11 @@ export class LoadingViewComp extends CCVMParentComp {
         // 加载游戏本地JSON数据的多语言提示文本
         this.data.prompt = oops.language.getLangByID("loading_load_json");
         return new Promise(async (resolve, reject) => {
-            await JsonUtil.loadAsync(TableCheckpointLevel.TableName);
+            let url = BaseUrl + '/cargame/' + Version + '/'
+            if (sys.platform === sys.Platform.BYTEDANCE_MINI_GAME) {
+                url = BaseUrl + 'dycargame/' + Version + '/'
+            }
+            await JsonUtil.loadNetAsync(url, TableCheckpointLevel.TableName);
             resolve(null);
         });
     }
@@ -95,5 +101,6 @@ export class LoadingViewComp extends CCVMParentComp {
     /** 加载完成事件 */
     private onCompleteCallback() {
         this.ent.remove(LoadingViewComp);
+        DataSdk.reportEvent(REPORT_EVENT.LOAD_COMPLETE)
     }
 }