@seaverse/track-sdk 0.1.1

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.
@@ -0,0 +1,82 @@
1
+ /**
2
+ * 通用事件属性类型
3
+ */
4
+ interface EventProperties {
5
+ [key: string]: string | number | boolean | null | undefined;
6
+ }
7
+ /**
8
+ * 用户属性类型
9
+ */
10
+ interface UserProperties {
11
+ [key: string]: string | number | boolean | null | undefined;
12
+ }
13
+ /**
14
+ * 埋点提供商类型
15
+ */
16
+ declare enum TrackProvider {
17
+ FIREBASE = "firebase",
18
+ SENSORS = "sensors"
19
+ }
20
+ /**
21
+ * 埋点 SDK 配置(用户传入)
22
+ */
23
+ interface TrackConfig {
24
+ /**
25
+ * 应用令牌
26
+ */
27
+ token: string;
28
+ /**
29
+ * 是否初始化 Firebase(默认 true)
30
+ */
31
+ initializeFirebase?: boolean;
32
+ /**
33
+ * 是否启用调试模式
34
+ */
35
+ debug?: boolean;
36
+ }
37
+
38
+ /**
39
+ * 埋点 SDK 客户端
40
+ */
41
+ declare class TrackClient {
42
+ private config;
43
+ private platformConfig;
44
+ private adapters;
45
+ private initialized;
46
+ constructor(config: TrackConfig);
47
+ /**
48
+ * 验证配置
49
+ */
50
+ private validateConfig;
51
+ /**
52
+ * 初始化 SDK
53
+ */
54
+ initialize(): Promise<void>;
55
+ /**
56
+ * 跟踪事件
57
+ * @param eventName 事件名称
58
+ * @param properties 事件属性
59
+ */
60
+ track(eventName: string, properties?: EventProperties): Promise<void>;
61
+ /**
62
+ * 设置用户 ID
63
+ * @param userId 用户 ID
64
+ */
65
+ setUserId(userId: string): Promise<void>;
66
+ /**
67
+ * 设置用户属性
68
+ * @param properties 用户属性
69
+ */
70
+ setUserProperties(properties: UserProperties): Promise<void>;
71
+ /**
72
+ * 清除用户 ID(用户登出时调用)
73
+ */
74
+ clearUserId(): Promise<void>;
75
+ /**
76
+ * 获取已初始化的提供商列表
77
+ */
78
+ getInitializedProviders(): TrackProvider[];
79
+ }
80
+
81
+ export { TrackClient, TrackProvider };
82
+ export type { EventProperties, TrackConfig, UserProperties };