@jolibox/implement 1.1.4-beta.5 → 1.1.4-beta.6

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.
@@ -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": "0ee7dc2d98ab2c9afa752e001300d41070065757",
7
+ "packages/implement/package.json": "48ebe52c04b46b51e0e592c733bed337355ecbe1",
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": "51f0d57336b8f1d45a820693522e24c033a05bfc",
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": "850e04e35ddeb0ab4904bdccec12691724457744",
62
- "packages/implement/src/h5/report/index.ts": "b81f05b8fbee77c5d70946c3539271cc2ed0bf5e",
63
- "packages/implement/src/h5/report/task-tracker.ts": "a355ce8c6542d81b2b540bbf859626fe9fee2849",
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": "db858a3285faa77d820ba2bafcca51cf95485671",
96
- "packages/implement/src/native/report/task-tracker.ts": "30b5a5d88fffa490ae085b7571fb3c1ef526a3ee",
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
- constructor(eventEmitter: EventEmitter<{
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.5";
2703
+ var jssdkVersion = "1.1.4-beta.6";
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) {
@@ -1384,7 +1384,7 @@ var init_xua = __esm({
1384
1384
  return "PC";
1385
1385
  }
1386
1386
  };
1387
- jssdkVersion = "1.1.4-beta.5";
1387
+ jssdkVersion = "1.1.4-beta.6";
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
- constructor(eventEmitter: EventEmitter<{
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 {};
@@ -1,9 +1,9 @@
1
1
  Invoking: npm run clean && npm run build:esm && tsc
2
2
 
3
- > @jolibox/implement@1.1.4-beta.5 clean
3
+ > @jolibox/implement@1.1.4-beta.6 clean
4
4
  > rimraf ./dist
5
5
 
6
6
 
7
- > @jolibox/implement@1.1.4-beta.5 build:esm
7
+ > @jolibox/implement@1.1.4-beta.6 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.5",
4
+ "version": "1.1.4-beta.6",
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.5",
10
- "@jolibox/types": "1.1.4-beta.5",
9
+ "@jolibox/common": "1.1.4-beta.6",
10
+ "@jolibox/types": "1.1.4-beta.6",
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
- // this.httpClient.post("/report", {
33
- // data: event,
34
- // timeout: 5000,
35
- // });
32
+ this.httpClient.post('/report', {
33
+ data: event,
34
+ timeout: 5000
35
+ });
36
36
  logger.info('Track', event);
37
37
  }
38
38
  }
@@ -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
- // await this.httpClient.post(`/api/base/app-event`, {
24
- // data: {
25
- // eventType: event,
26
- // gameInfo: {
27
- // gameId: this.gameId,
28
- // sessionId: this.sessionId,
29
- // ...params
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
  }