@jolibox/implement 1.1.4-beta.5 → 1.1.4-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/package-deps_build.json +7 -7
- package/dist/common/report/task-track/index.d.ts +2 -0
- package/dist/h5/report/task-tracker.d.ts +5 -1
- package/dist/index.js +24 -3
- package/dist/index.native.js +10 -3
- package/dist/native/report/task-tracker.d.ts +5 -1
- package/implement.build.log +2 -2
- package/package.json +3 -3
- package/src/common/report/task-track/index.ts +5 -0
- package/src/h5/report/event-tracker.ts +4 -4
- package/src/h5/report/index.ts +1 -1
- package/src/h5/report/task-tracker.ts +18 -11
- package/src/native/report/index.ts +1 -1
- package/src/native/report/task-tracker.ts +9 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"packages/implement/.eslintrc.js": "7a3d2747dc887655ca9e2d3ff621f7dfd98500b9",
|
|
5
5
|
"packages/implement/README.md": "5660cd88848b7a5428394cc34d881a35dd402188",
|
|
6
6
|
"packages/implement/esbuild.config.js": "a55a01edf7475b868f9a946b93eb05b6b1bf756a",
|
|
7
|
-
"packages/implement/package.json": "
|
|
7
|
+
"packages/implement/package.json": "b4965993e329dd738a1dcb25b2de86c7bcde816b",
|
|
8
8
|
"packages/implement/src/common/api-factory/index.ts": "b1c4018f18db700c80826d70465c79f0adf10a8c",
|
|
9
9
|
"packages/implement/src/common/api-factory/validator/__tests__/validate/any.test.ts": "6e225e09fce401b374221ad2e4fe33bc91df4152",
|
|
10
10
|
"packages/implement/src/common/api-factory/validator/__tests__/validate/array.test.ts": "8a9cc32be03e952f1176a970fea033d597c176cb",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"packages/implement/src/common/report/errors/report/index.ts": "bee6f5f324ebddcc423c3549916a0eee04e880cf",
|
|
40
40
|
"packages/implement/src/common/report/errors/report/listeners.ts": "794e5731d27b073c0576d03a6fa4c2a8bfd3b87a",
|
|
41
41
|
"packages/implement/src/common/report/index.ts": "6d94d6985cb79a460ab9e2e84fa1b77b5db2b25a",
|
|
42
|
-
"packages/implement/src/common/report/task-track/index.ts": "
|
|
42
|
+
"packages/implement/src/common/report/task-track/index.ts": "29824a4ac5573227516ec78f4cfd627b5f4ca67a",
|
|
43
43
|
"packages/implement/src/common/report/track.ts": "b20618f24668a625164300cf8d6629c0cea9e95d",
|
|
44
44
|
"packages/implement/src/common/report/types.ts": "9c8a3e532d4ac3add61a79b6a3e4938c90537e5d",
|
|
45
45
|
"packages/implement/src/h5/ads/ads-action-detection.ts": "ad06449b7471e27b505c8688c0dd014b9e0a6a0f",
|
|
@@ -58,9 +58,9 @@
|
|
|
58
58
|
"packages/implement/src/h5/http/utils/index.ts": "05f4d94be09b9bfdcbb1365b31a5559e44a74991",
|
|
59
59
|
"packages/implement/src/h5/http/utils/session.ts": "f6873cbd413a1de02a481179b18100b7e6100abf",
|
|
60
60
|
"packages/implement/src/h5/report/errors/index.ts": "8221eee1dde2599bf644046f6cd1cb5466e5c74a",
|
|
61
|
-
"packages/implement/src/h5/report/event-tracker.ts": "
|
|
62
|
-
"packages/implement/src/h5/report/index.ts": "
|
|
63
|
-
"packages/implement/src/h5/report/task-tracker.ts": "
|
|
61
|
+
"packages/implement/src/h5/report/event-tracker.ts": "8cabdba89106b72f98a8a4d7bb9a232340609942",
|
|
62
|
+
"packages/implement/src/h5/report/index.ts": "8269b38f705af0c4968d31d5bfb808107e94c6a0",
|
|
63
|
+
"packages/implement/src/h5/report/task-tracker.ts": "96af1920b72abcb5dd85ca2e1c73d4abd478e17f",
|
|
64
64
|
"packages/implement/src/index.native.ts": "39f7832965ef86a4bae707db859f64e9eb50b8af",
|
|
65
65
|
"packages/implement/src/index.ts": "4e3f5e86c83b36beda5b9609f7e35f3ff69e6ae6",
|
|
66
66
|
"packages/implement/src/native/api/base.ts": "c4c4d04519cdbc3a08226c620f6314ee3b151435",
|
|
@@ -92,8 +92,8 @@
|
|
|
92
92
|
"packages/implement/src/native/network/types.ts": "4e8eb72bf0b0b26a5298ce42d96855d27769be51",
|
|
93
93
|
"packages/implement/src/native/network/utils.ts": "cc94ff34d8cda8e8a2a4731185c1d57c7dd04b92",
|
|
94
94
|
"packages/implement/src/native/report/errors/index.ts": "d2cd492f07c9b98bd8d469d4a5a84bb8520a3dd2",
|
|
95
|
-
"packages/implement/src/native/report/index.ts": "
|
|
96
|
-
"packages/implement/src/native/report/task-tracker.ts": "
|
|
95
|
+
"packages/implement/src/native/report/index.ts": "60d503f20d1d6449a9080ed1678666bf65c7c043",
|
|
96
|
+
"packages/implement/src/native/report/task-tracker.ts": "da64af492d7a5727e32e009037af8a1c5eafd0a8",
|
|
97
97
|
"packages/implement/src/native/types/global.d.ts": "065076bbecdd9a0ffe7a71c19475356a6f816cee",
|
|
98
98
|
"packages/implement/src/native/types/native-method-map.d.ts": "b3e1d9f245accca3a12f821a1bbd9fc67bd8d4ab",
|
|
99
99
|
"packages/implement/src/native/types/native-method.d.ts": "e4e22c921a5b54d4e10fe5ca18158d691fbfe3e7",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@jolibox/common';
|
|
2
|
+
import { TrackEvent } from '@jolibox/types';
|
|
2
3
|
type TaskEvent = 'OPEN_GAME' | 'PLAY_GAME' | 'CLOSE_GAME' | 'COMPLETE_QUEST' | 'USE_GAME_ITEM' | 'IN_GAME_PURCHASES' | 'ADS_UNLOCK_GAME';
|
|
3
4
|
export type TaskPoint = {
|
|
4
5
|
event: TaskEvent;
|
|
@@ -13,6 +14,7 @@ export declare abstract class TaskTracker {
|
|
|
13
14
|
stop(): void;
|
|
14
15
|
};
|
|
15
16
|
abstract reporter(point: TaskPoint): void;
|
|
17
|
+
abstract tracker(point: TrackEvent, info: Record<string, unknown> | null): void;
|
|
16
18
|
constructor(eventEmitter: EventEmitter<{
|
|
17
19
|
visible: [boolean];
|
|
18
20
|
}>, interval?: number);
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { TaskTracker, TaskPoint } from '@/common/report/task-track';
|
|
5
5
|
import { EventEmitter } from '@jolibox/common';
|
|
6
|
+
import type { Track } from '.';
|
|
7
|
+
import type { TrackEvent } from '@jolibox/types';
|
|
6
8
|
export declare class H5TaskTracker extends TaskTracker {
|
|
7
9
|
private gameId;
|
|
8
10
|
private sessionId;
|
|
9
11
|
private httpClient;
|
|
10
|
-
|
|
12
|
+
private track;
|
|
13
|
+
constructor(track: Track, eventEmitter: EventEmitter<{
|
|
11
14
|
visible: [boolean];
|
|
12
15
|
}>, interval?: number);
|
|
13
16
|
reporter(point: TaskPoint): Promise<void>;
|
|
17
|
+
tracker(event: TrackEvent, info?: Record<string, unknown> | null): void;
|
|
14
18
|
}
|
package/dist/index.js
CHANGED
|
@@ -2700,7 +2700,7 @@ var getPlatform = () => {
|
|
|
2700
2700
|
return "PC";
|
|
2701
2701
|
}
|
|
2702
2702
|
};
|
|
2703
|
-
var jssdkVersion = "1.1.4-beta.
|
|
2703
|
+
var jssdkVersion = "1.1.4-beta.7";
|
|
2704
2704
|
var getAppVersion = () => {
|
|
2705
2705
|
return jssdkVersion;
|
|
2706
2706
|
};
|
|
@@ -3185,6 +3185,10 @@ var H5EventTracker = class extends EventTracker {
|
|
|
3185
3185
|
return context.testMode ?? false ? api.test : api.prod;
|
|
3186
3186
|
}
|
|
3187
3187
|
doReport(event) {
|
|
3188
|
+
this.httpClient.post("/report", {
|
|
3189
|
+
data: event,
|
|
3190
|
+
timeout: 5e3
|
|
3191
|
+
});
|
|
3188
3192
|
q.info("Track", event);
|
|
3189
3193
|
}
|
|
3190
3194
|
};
|
|
@@ -3229,6 +3233,7 @@ var TaskTracker = class {
|
|
|
3229
3233
|
// second
|
|
3230
3234
|
}
|
|
3231
3235
|
});
|
|
3236
|
+
this.tracker("PlayGame", { duration: duration / 1e3 });
|
|
3232
3237
|
});
|
|
3233
3238
|
this.interval = interval ?? 10 * 1e3;
|
|
3234
3239
|
eventEmitter.on("visible", (visible) => {
|
|
@@ -3244,6 +3249,7 @@ var TaskTracker = class {
|
|
|
3244
3249
|
// second
|
|
3245
3250
|
}
|
|
3246
3251
|
});
|
|
3252
|
+
this.tracker("OpenGame", { duration: duration ?? 0 / 1e3 });
|
|
3247
3253
|
this.timer.start();
|
|
3248
3254
|
}
|
|
3249
3255
|
close(duration) {
|
|
@@ -3255,6 +3261,7 @@ var TaskTracker = class {
|
|
|
3255
3261
|
// second
|
|
3256
3262
|
}
|
|
3257
3263
|
});
|
|
3264
|
+
this.tracker("CloseGame", { duration: duration / 1e3 });
|
|
3258
3265
|
this.timer.stop();
|
|
3259
3266
|
}
|
|
3260
3267
|
createRAFTimer(callback) {
|
|
@@ -3294,16 +3301,30 @@ var TaskTracker = class {
|
|
|
3294
3301
|
|
|
3295
3302
|
// src/h5/report/task-tracker.ts
|
|
3296
3303
|
var H5TaskTracker = class extends TaskTracker {
|
|
3297
|
-
constructor(eventEmitter, interval) {
|
|
3304
|
+
constructor(track2, eventEmitter, interval) {
|
|
3298
3305
|
super(eventEmitter, interval);
|
|
3299
3306
|
this.httpClient = new http_default();
|
|
3300
3307
|
this.gameId = context.game_id;
|
|
3301
3308
|
this.sessionId = context.session_id;
|
|
3309
|
+
this.track = track2;
|
|
3302
3310
|
}
|
|
3303
3311
|
async reporter(point) {
|
|
3304
3312
|
const { event, params } = point;
|
|
3313
|
+
await this.httpClient.post(`/api/base/app-event`, {
|
|
3314
|
+
data: {
|
|
3315
|
+
eventType: event,
|
|
3316
|
+
gameInfo: {
|
|
3317
|
+
gameId: this.gameId,
|
|
3318
|
+
sessionId: this.sessionId,
|
|
3319
|
+
...params
|
|
3320
|
+
}
|
|
3321
|
+
}
|
|
3322
|
+
});
|
|
3305
3323
|
q.log("-----task tracker-----", event, params);
|
|
3306
3324
|
}
|
|
3325
|
+
tracker(event, info = null) {
|
|
3326
|
+
this.track(event, info);
|
|
3327
|
+
}
|
|
3307
3328
|
};
|
|
3308
3329
|
|
|
3309
3330
|
// src/h5/report/index.ts
|
|
@@ -3342,7 +3363,7 @@ commands.registerCommand("ReportSDK.traceSystem", ({ event, info }) => {
|
|
|
3342
3363
|
track(event, info);
|
|
3343
3364
|
});
|
|
3344
3365
|
var h5TaskEmitter = new _();
|
|
3345
|
-
var taskTracker = new H5TaskTracker(h5TaskEmitter);
|
|
3366
|
+
var taskTracker = new H5TaskTracker(track, h5TaskEmitter);
|
|
3346
3367
|
|
|
3347
3368
|
// src/common/can-i-use.ts
|
|
3348
3369
|
function registerCanIUseFactory(platform2) {
|
package/dist/index.native.js
CHANGED
|
@@ -1384,7 +1384,7 @@ var init_xua = __esm({
|
|
|
1384
1384
|
return "PC";
|
|
1385
1385
|
}
|
|
1386
1386
|
};
|
|
1387
|
-
jssdkVersion = "1.1.4-beta.
|
|
1387
|
+
jssdkVersion = "1.1.4-beta.7";
|
|
1388
1388
|
getAppVersion = () => {
|
|
1389
1389
|
return jssdkVersion;
|
|
1390
1390
|
};
|
|
@@ -1700,6 +1700,7 @@ var init_task_track = __esm({
|
|
|
1700
1700
|
// second
|
|
1701
1701
|
}
|
|
1702
1702
|
});
|
|
1703
|
+
this.tracker("PlayGame", { duration: duration / 1e3 });
|
|
1703
1704
|
});
|
|
1704
1705
|
this.interval = interval ?? 10 * 1e3;
|
|
1705
1706
|
eventEmitter.on("visible", (visible) => {
|
|
@@ -1715,6 +1716,7 @@ var init_task_track = __esm({
|
|
|
1715
1716
|
// second
|
|
1716
1717
|
}
|
|
1717
1718
|
});
|
|
1719
|
+
this.tracker("OpenGame", { duration: duration ?? 0 / 1e3 });
|
|
1718
1720
|
this.timer.start();
|
|
1719
1721
|
}
|
|
1720
1722
|
close(duration) {
|
|
@@ -1726,6 +1728,7 @@ var init_task_track = __esm({
|
|
|
1726
1728
|
// second
|
|
1727
1729
|
}
|
|
1728
1730
|
});
|
|
1731
|
+
this.tracker("CloseGame", { duration: duration / 1e3 });
|
|
1729
1732
|
this.timer.stop();
|
|
1730
1733
|
}
|
|
1731
1734
|
createRAFTimer(callback) {
|
|
@@ -1988,10 +1991,11 @@ var init_task_tracker = __esm({
|
|
|
1988
1991
|
init_network();
|
|
1989
1992
|
init_bridge();
|
|
1990
1993
|
NativeTaskTracker = class extends TaskTracker {
|
|
1991
|
-
constructor(eventEmitter, interval) {
|
|
1994
|
+
constructor(track2, eventEmitter, interval) {
|
|
1992
1995
|
super(eventEmitter, interval);
|
|
1993
1996
|
this.gameId = context.game_id;
|
|
1994
1997
|
this.sessionId = context.session_id;
|
|
1998
|
+
this.track = track2;
|
|
1995
1999
|
}
|
|
1996
2000
|
async reporter(point) {
|
|
1997
2001
|
const { event, params } = point;
|
|
@@ -2021,6 +2025,9 @@ var init_task_tracker = __esm({
|
|
|
2021
2025
|
gameId: this.gameId
|
|
2022
2026
|
});
|
|
2023
2027
|
}
|
|
2028
|
+
tracker(event, info = null) {
|
|
2029
|
+
this.track(event, info);
|
|
2030
|
+
}
|
|
2024
2031
|
};
|
|
2025
2032
|
}
|
|
2026
2033
|
});
|
|
@@ -2066,7 +2073,7 @@ var init_report5 = __esm({
|
|
|
2066
2073
|
track(event, info);
|
|
2067
2074
|
});
|
|
2068
2075
|
nativeTaskEmitter = new _();
|
|
2069
|
-
taskTracker = new NativeTaskTracker(nativeTaskEmitter);
|
|
2076
|
+
taskTracker = new NativeTaskTracker(track, nativeTaskEmitter);
|
|
2070
2077
|
}
|
|
2071
2078
|
});
|
|
2072
2079
|
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { TaskTracker, TaskPoint } from '@/common/report/task-track';
|
|
5
5
|
import { EventEmitter } from '@jolibox/common';
|
|
6
|
+
import type { Track } from '.';
|
|
7
|
+
import type { TrackEvent } from '@jolibox/types';
|
|
6
8
|
type NativeTaskPointEvent = 'OPEN_GAME' | 'CLOSE_GAME' | 'LEVEL_FINISHED' | 'TASK_FINISHED' | 'LEVEL_UPGRADE' | 'HISTORY_USER_LEVEL' | 'HISTORY_USER_SCORE' | 'TASK_PAYMENT' | 'TASK_EVENT';
|
|
7
9
|
export type NativeTaskPoint = {
|
|
8
10
|
event: NativeTaskPointEvent;
|
|
@@ -11,10 +13,12 @@ export type NativeTaskPoint = {
|
|
|
11
13
|
export declare class NativeTaskTracker extends TaskTracker {
|
|
12
14
|
private gameId;
|
|
13
15
|
private sessionId;
|
|
14
|
-
|
|
16
|
+
private track;
|
|
17
|
+
constructor(track: Track, eventEmitter: EventEmitter<{
|
|
15
18
|
visible: [boolean];
|
|
16
19
|
}>, interval?: number);
|
|
17
20
|
reporter(point: TaskPoint): Promise<void>;
|
|
18
21
|
reportToNative(point: NativeTaskPoint): Promise<void>;
|
|
22
|
+
tracker(event: TrackEvent, info?: Record<string, unknown> | null): void;
|
|
19
23
|
}
|
|
20
24
|
export {};
|
package/implement.build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Invoking: npm run clean && npm run build:esm && tsc
|
|
2
2
|
|
|
3
|
-
> @jolibox/implement@1.1.4-beta.
|
|
3
|
+
> @jolibox/implement@1.1.4-beta.7 clean
|
|
4
4
|
> rimraf ./dist
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
> @jolibox/implement@1.1.4-beta.
|
|
7
|
+
> @jolibox/implement@1.1.4-beta.7 build:esm
|
|
8
8
|
> BUILD_VERSION=$(node -p "require('./package.json').version") node esbuild.config.js --format=esm
|
|
9
9
|
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jolibox/implement",
|
|
3
3
|
"description": "This project is Jolibox JS-SDk implement for Native && H5",
|
|
4
|
-
"version": "1.1.4-beta.
|
|
4
|
+
"version": "1.1.4-beta.7",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@jolibox/common": "1.1.4-beta.
|
|
10
|
-
"@jolibox/types": "1.1.4-beta.
|
|
9
|
+
"@jolibox/common": "1.1.4-beta.7",
|
|
10
|
+
"@jolibox/types": "1.1.4-beta.7",
|
|
11
11
|
"localforage": "1.10.0"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '@jolibox/common';
|
|
2
|
+
import { TrackEvent } from '@jolibox/types';
|
|
2
3
|
|
|
3
4
|
type TaskEvent =
|
|
4
5
|
| 'OPEN_GAME'
|
|
@@ -24,9 +25,11 @@ export abstract class TaskTracker {
|
|
|
24
25
|
duration: duration / 1000 // second
|
|
25
26
|
}
|
|
26
27
|
});
|
|
28
|
+
this.tracker('PlayGame', { duration: duration / 1000 });
|
|
27
29
|
});
|
|
28
30
|
|
|
29
31
|
abstract reporter(point: TaskPoint): void;
|
|
32
|
+
abstract tracker(point: TrackEvent, info: Record<string, unknown> | null): void;
|
|
30
33
|
constructor(eventEmitter: EventEmitter<{ visible: [boolean] }>, interval?: number) {
|
|
31
34
|
this.interval = interval ?? 10 * 1000;
|
|
32
35
|
|
|
@@ -43,6 +46,7 @@ export abstract class TaskTracker {
|
|
|
43
46
|
duration: duration ?? 0 / 1000 // second
|
|
44
47
|
}
|
|
45
48
|
});
|
|
49
|
+
this.tracker('OpenGame', { duration: duration ?? 0 / 1000 });
|
|
46
50
|
this.timer.start();
|
|
47
51
|
}
|
|
48
52
|
|
|
@@ -54,6 +58,7 @@ export abstract class TaskTracker {
|
|
|
54
58
|
duration: duration / 1000 // second
|
|
55
59
|
}
|
|
56
60
|
});
|
|
61
|
+
this.tracker('CloseGame', { duration: duration / 1000 });
|
|
57
62
|
this.timer.stop();
|
|
58
63
|
}
|
|
59
64
|
|
|
@@ -29,10 +29,10 @@ export class H5EventTracker extends EventTracker {
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
doReport(event: unknown[]): void {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
this.httpClient.post('/report', {
|
|
33
|
+
data: event,
|
|
34
|
+
timeout: 5000
|
|
35
|
+
});
|
|
36
36
|
logger.info('Track', event);
|
|
37
37
|
}
|
|
38
38
|
}
|
package/src/h5/report/index.ts
CHANGED
|
@@ -53,4 +53,4 @@ commands.registerCommand('ReportSDK.traceSystem', ({ event, info }) => {
|
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
export const h5TaskEmitter = new EventEmitter<{ visible: [boolean] }>();
|
|
56
|
-
export const taskTracker = new H5TaskTracker(h5TaskEmitter);
|
|
56
|
+
export const taskTracker = new H5TaskTracker(track, h5TaskEmitter);
|
|
@@ -6,30 +6,37 @@ import { context } from '@/common/context';
|
|
|
6
6
|
import { TaskTracker, TaskPoint } from '@/common/report/task-track';
|
|
7
7
|
import { EventEmitter, logger } from '@jolibox/common';
|
|
8
8
|
import JoliboxHttpClient from '../http';
|
|
9
|
+
import type { Track } from '.';
|
|
10
|
+
import type { TrackEvent } from '@jolibox/types';
|
|
9
11
|
|
|
10
12
|
export class H5TaskTracker extends TaskTracker {
|
|
11
13
|
private gameId: string;
|
|
12
14
|
private sessionId: string;
|
|
13
15
|
private httpClient = new JoliboxHttpClient();
|
|
16
|
+
private track: Track;
|
|
14
17
|
|
|
15
|
-
constructor(eventEmitter: EventEmitter<{ visible: [boolean] }>, interval?: number) {
|
|
18
|
+
constructor(track: Track, eventEmitter: EventEmitter<{ visible: [boolean] }>, interval?: number) {
|
|
16
19
|
super(eventEmitter, interval);
|
|
17
20
|
this.gameId = context.game_id;
|
|
18
21
|
this.sessionId = context.session_id;
|
|
22
|
+
this.track = track;
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
async reporter(point: TaskPoint): Promise<void> {
|
|
22
26
|
const { event, params } = point;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
await this.httpClient.post(`/api/base/app-event`, {
|
|
28
|
+
data: {
|
|
29
|
+
eventType: event,
|
|
30
|
+
gameInfo: {
|
|
31
|
+
gameId: this.gameId,
|
|
32
|
+
sessionId: this.sessionId,
|
|
33
|
+
...params
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
33
37
|
logger.log('-----task tracker-----', event, params);
|
|
34
38
|
}
|
|
39
|
+
tracker(event: TrackEvent, info: Record<string, unknown> | null = null) {
|
|
40
|
+
this.track(event, info);
|
|
41
|
+
}
|
|
35
42
|
}
|
|
@@ -48,4 +48,4 @@ commands.registerCommand('ReportSDK.traceSystem', ({ event, info }) => {
|
|
|
48
48
|
// 任务上报
|
|
49
49
|
|
|
50
50
|
export const nativeTaskEmitter = new EventEmitter<{ visible: [boolean] }>();
|
|
51
|
-
export const taskTracker = new NativeTaskTracker(nativeTaskEmitter);
|
|
51
|
+
export const taskTracker = new NativeTaskTracker(track, nativeTaskEmitter);
|
|
@@ -7,6 +7,8 @@ import { TaskTracker, TaskPoint } from '@/common/report/task-track';
|
|
|
7
7
|
import { EventEmitter } from '@jolibox/common';
|
|
8
8
|
import { innerFetch as fetch } from '../network';
|
|
9
9
|
import { applyNative } from '../bootstrap/bridge';
|
|
10
|
+
import type { Track } from '.';
|
|
11
|
+
import type { TrackEvent } from '@jolibox/types';
|
|
10
12
|
|
|
11
13
|
type NativeTaskPointEvent =
|
|
12
14
|
| 'OPEN_GAME'
|
|
@@ -26,11 +28,13 @@ export type NativeTaskPoint = {
|
|
|
26
28
|
export class NativeTaskTracker extends TaskTracker {
|
|
27
29
|
private gameId: string;
|
|
28
30
|
private sessionId: string;
|
|
31
|
+
private track: Track;
|
|
29
32
|
|
|
30
|
-
constructor(eventEmitter: EventEmitter<{ visible: [boolean] }>, interval?: number) {
|
|
33
|
+
constructor(track: Track, eventEmitter: EventEmitter<{ visible: [boolean] }>, interval?: number) {
|
|
31
34
|
super(eventEmitter, interval);
|
|
32
35
|
this.gameId = context.game_id;
|
|
33
36
|
this.sessionId = context.session_id;
|
|
37
|
+
this.track = track;
|
|
34
38
|
}
|
|
35
39
|
async reporter(point: TaskPoint): Promise<void> {
|
|
36
40
|
const { event, params } = point;
|
|
@@ -61,4 +65,8 @@ export class NativeTaskTracker extends TaskTracker {
|
|
|
61
65
|
gameId: this.gameId
|
|
62
66
|
});
|
|
63
67
|
}
|
|
68
|
+
|
|
69
|
+
tracker(event: TrackEvent, info: Record<string, unknown> | null = null) {
|
|
70
|
+
this.track(event, info);
|
|
71
|
+
}
|
|
64
72
|
}
|