@truewatchtech/react-native-mobile 0.3.15-alpha.1 → 0.3.16

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.
Files changed (43) hide show
  1. package/FTMobileReactNativeSDK.podspec +1 -1
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/ft/sdk/reactnative/FTMobileImpl.java +424 -5
  4. package/android/src/main/java/com/ft/sdk/reactnative/FTRUMImpl.java +12 -0
  5. package/android/src/newarch/java/com/ft/sdk/reactnative/FTMobileModule.java +23 -1
  6. package/android/src/oldarch/java/com/ft/sdk/reactnative/FTMobileModule.java +24 -2
  7. package/ios/FTMobileReactNative.h +2 -2
  8. package/ios/FTMobileReactNative.m +358 -4
  9. package/ios/FTReactNativeRUM.m +9 -0
  10. package/lib/commonjs/ft_logger.js +5 -2
  11. package/lib/commonjs/ft_logger.js.map +1 -1
  12. package/lib/commonjs/ft_mobile_agent.js +142 -3
  13. package/lib/commonjs/ft_mobile_agent.js.map +1 -1
  14. package/lib/commonjs/ft_rum.js +40 -13
  15. package/lib/commonjs/ft_rum.js.map +1 -1
  16. package/lib/commonjs/ft_tracing.js.map +1 -1
  17. package/lib/commonjs/index.js +30 -0
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/version.js +1 -1
  20. package/lib/commonjs/version.js.map +1 -1
  21. package/lib/module/ft_logger.js +5 -2
  22. package/lib/module/ft_logger.js.map +1 -1
  23. package/lib/module/ft_mobile_agent.js +142 -3
  24. package/lib/module/ft_mobile_agent.js.map +1 -1
  25. package/lib/module/ft_rum.js +39 -9
  26. package/lib/module/ft_rum.js.map +1 -1
  27. package/lib/module/ft_tracing.js.map +1 -1
  28. package/lib/module/index.js +3 -3
  29. package/lib/module/index.js.map +1 -1
  30. package/lib/module/version.js +1 -1
  31. package/lib/module/version.js.map +1 -1
  32. package/lib/typescript/ft_mobile_agent.d.ts +140 -2
  33. package/lib/typescript/ft_rum.d.ts +24 -0
  34. package/lib/typescript/index.d.ts +3 -3
  35. package/lib/typescript/version.d.ts +1 -1
  36. package/package.json +1 -1
  37. package/src/ft_logger.tsx +6 -2
  38. package/src/ft_mobile_agent.tsx +217 -8
  39. package/src/ft_rum.tsx +66 -9
  40. package/src/ft_tracing.tsx +21 -2
  41. package/src/index.tsx +6 -5
  42. package/src/version.ts +1 -1
  43. package/android/src/main/java/com/ft/sdk/InnerClassProxy.java +0 -8
@@ -1,5 +1,95 @@
1
- import { NativeModules } from 'react-native';
2
- import { version as sdkVersion } from './version'
1
+ import { EmitterSubscription, NativeEventEmitter, NativeModules } from 'react-native';
2
+ import { version as sdkVersion } from './version';
3
+
4
+ /**
5
+ * Bridge context manager for managing shared properties across RUM and Logger modules
6
+ * This class provides a centralized way to store and retrieve global properties that will be
7
+ * automatically merged with local properties when making calls to RUM and Logger functions
8
+ */
9
+ class BridgeContextManager {
10
+ private static instance: BridgeContextManager;
11
+ private properties: Map<string, any> = new Map();
12
+
13
+ private constructor() {
14
+ // Initialize with SDK version information
15
+ this.initializeSDKInfo();
16
+ }
17
+
18
+ /**
19
+ * Initialize SDK information properties
20
+ * @private
21
+ */
22
+ private initializeSDKInfo(): void {
23
+ // Create sdk_bridge_info with version information
24
+ const sdkBridgeInfo = {
25
+ react_native: sdkVersion,
26
+ };
27
+
28
+ // Set the sdk_bridge_info property
29
+ this.properties.set('sdk_bridge_info', JSON.stringify(sdkBridgeInfo));
30
+ }
31
+
32
+ /**
33
+ * Get singleton instance of BridgeContextManager
34
+ * @returns BridgeContextManager instance
35
+ */
36
+ public static getInstance(): BridgeContextManager {
37
+ if (!BridgeContextManager.instance) {
38
+ BridgeContextManager.instance = new BridgeContextManager();
39
+ }
40
+ return BridgeContextManager.instance;
41
+ }
42
+
43
+ /**
44
+ * Add bridge context properties that will be automatically merged with local properties
45
+ * @param properties Object containing key-value pairs
46
+ */
47
+ public appendBridgeContext(properties: Record<string, any>): void {
48
+ // Store properties locally in JavaScript
49
+ try {
50
+ // Store properties locally in JavaScript
51
+ Object.entries(properties).forEach(([key, value]) => {
52
+ this.properties.set(key, value);
53
+ });
54
+ } catch (error) {
55
+ console.warn('Failed to append bridge context:', error);
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Merge bridge context properties with local properties
61
+ * Bridge context properties take precedence over local properties
62
+ * @param localProperties Local properties to merge with bridge context properties
63
+ * @returns Merged properties object
64
+ */
65
+ public mergeWithLocalPropertiesSync(localProperties?: object): Record<string, any> {
66
+ try {
67
+ const merged: Record<string, any> = {};
68
+
69
+ // First add local properties (if any)
70
+ if (localProperties) {
71
+ Object.assign(merged, localProperties);
72
+ }
73
+
74
+ // Then add bridge context properties (these will override local properties with same keys)
75
+ this.properties.forEach((value, key) => {
76
+ merged[key] = value;
77
+ });
78
+
79
+ return merged;
80
+ } catch (error) {
81
+ console.warn(
82
+ 'Failed to merge bridge context with local properties:',
83
+ error
84
+ );
85
+ // Return empty object or only local properties on error
86
+ return localProperties ? { ...localProperties } : {};
87
+ }
88
+ }
89
+ }
90
+
91
+ // Internal bridge context manager - not exported
92
+ export const bridgeContextManager = BridgeContextManager.getInstance();
3
93
 
4
94
  /**
5
95
  * Environment.
@@ -8,6 +98,87 @@ export enum EnvType {
8
98
  prod, gray, pre, common, local
9
99
  };
10
100
  export enum FTDBCacheDiscard { discard, discardOldest };
101
+
102
+ /**
103
+ * Remote config override rule matching condition for custom keys. Supports exact match and contains match.
104
+ * For exact match, set the value directly, for example: "userid": "test_user", which means the rule will be applied when the custom key "userid" is exactly "test_user".
105
+ * For contains match, set the value as an object with a "contains" field, for example: "userid": { "contains": "test_user" }, which means the rule will be applied when the custom key "userid" contains the object "test_user".
106
+ */
107
+ export type FTRemoteConfigCustomKeyContainsMatch = {
108
+ contains: string | number | boolean;
109
+ };
110
+
111
+ /**
112
+ * Matching rules for remote config override
113
+ * Defines matching conditions using customKeys
114
+ */
115
+ export type FTRemoteConfigOverrideMatch = {
116
+ customKeys?: Record<string, string | number | boolean | FTRemoteConfigCustomKeyContainsMatch>;
117
+ };
118
+
119
+ /**
120
+ * Values that can be modified by remote config override rules.
121
+ * These values will adjust the fetched remote configuration before it is applied.
122
+ */
123
+ export type FTRemoteConfigOverrideValues = {
124
+ env?: string;
125
+ serviceName?: string;
126
+ autoSync?: boolean;
127
+ compressIntakeRequests?: boolean;
128
+ syncPageSize?: number;
129
+ syncSleepTime?: number;
130
+ rumSampleRate?: number;
131
+ rumSessionOnErrorSampleRate?: number;
132
+ rumEnableTraceUserAction?: boolean;
133
+ rumEnableTraceUserView?: boolean;
134
+ rumEnableTraceUserResource?: boolean;
135
+ rumEnableResourceHostIP?: boolean;
136
+ rumEnableTrackAppUIBlock?: boolean;
137
+ rumBlockDurationMs?: number;
138
+ rumEnableTrackAppCrash?: boolean;
139
+ rumEnableTrackAppANR?: boolean;
140
+ rumEnableTraceWebView?: boolean;
141
+ rumAllowWebViewHost?: Array<string>;
142
+ traceSampleRate?: number;
143
+ traceEnableAutoTrace?: boolean;
144
+ traceType?: string;
145
+ logSampleRate?: number;
146
+ logLevelFilters?: Array<string>;
147
+ logEnableCustomLog?: boolean;
148
+ logEnableConsoleLog?: boolean;
149
+ };
150
+
151
+ /**
152
+ * Remote config override rules .
153
+ * Adjust the fetched remote configuration before application.
154
+ */
155
+ export type FTRemoteConfigOverrideRule = {
156
+ id?: string,
157
+ enabled?: boolean,
158
+ match: FTRemoteConfigOverrideMatch,
159
+ override: FTRemoteConfigOverrideValues,
160
+ }
161
+ /**
162
+ * Final result of the remote config update
163
+ * @param triggerType the type of remote config update trigger, auto or manual
164
+ * @param success whether the remote config update was successful
165
+ * @param platform the platform of the device, ios or android
166
+ * @param timestamp the timestamp when the remote config update was triggered
167
+ * @param rawJson the final remote config update result, in JSON string format
168
+ * @param errorCode the error code if the remote config update failed, may be null if the update was successful
169
+ * @param errorMessage the error message if the remote config update failed, may be null if the update was successful
170
+ * @param appliedOverrideRuleIds the list of override rule IDs applied in this remote config update, may be null if no rules were applied
171
+ */
172
+ export type FTRemoteConfigResult = {
173
+ triggerType: 'auto' | 'manual';
174
+ success: boolean;
175
+ platform: 'ios' | 'android';
176
+ timestamp: number;
177
+ rawJson?: string;
178
+ errorCode?: string | number;
179
+ errorMessage?: string;
180
+ appliedOverrideRuleIds?: string[];
181
+ };
11
182
  /**
12
183
  * Configure SDK startup parameters.
13
184
  * @param serverUrl data reporting address, deprecated, use [datakitUrl] instead
@@ -29,7 +200,10 @@ export enum FTDBCacheDiscard { discard, discardOldest };
29
200
  * @param dbDiscardStrategy db data discard strategy
30
201
  * @param dataModifier data modifier, modify individual fields {key:value}, after setting, the SDK will replace the original value with the set value according to the key
31
202
  * @param lineDataModifier data modifier, modify single data {"measurement":measurement,"data":{key:value}}, after setting, the SDK will replace the original value with the set value according to the key
32
- */
203
+ * @param remoteConfiguration Set whether to enable remote dynamic configuration
204
+ * @param remoteConfigMiniUpdateInterval Set remote dynamic configuration minimum update interval, unit seconds, default 12*60*60
205
+ * @param remoteConfigOverrideRules Remote config override rules .Adjust the fetched remote configuration before application.
206
+ */
33
207
  export interface FTMobileConfig {
34
208
  /**
35
209
  * @deprecated "serverUrl" parameter renamed to "datakitUrl"
@@ -52,12 +226,13 @@ export enum FTDBCacheDiscard { discard, discardOldest };
52
226
  enableLimitWithDbSize?:boolean,
53
227
  dbCacheLimit?:number,
54
228
  dbDiscardStrategy?:FTDBCacheDiscard,
55
- pkgInfo?: string,
56
229
  dataModifier?:object,
57
- lineDataModifier?:object
230
+ lineDataModifier?:object,
231
+ remoteConfiguration?:boolean,
232
+ remoteConfigMiniUpdateInterval?:number,
233
+ remoteConfigOverrideRules?:Array<FTRemoteConfigOverrideRule>,
58
234
  }
59
235
 
60
-
61
236
  type FTMobileReactNativeType = {
62
237
 
63
238
  /**
@@ -118,16 +293,38 @@ type FTMobileReactNativeType = {
118
293
  * Clear all data that has not yet been uploaded to the server.
119
294
  */
120
295
  clearAllData():Promise<void>
296
+ /**
297
+ * Add bridge context properties that will be automatically merged with local properties
298
+ * @param properties Object containing key-value pairs
299
+ */
300
+ appendBridgeContext(properties: Record<string, any>): void;
301
+ /**
302
+ * Update remote configuration, after enabling remote configuration, you can call this method to update the configuration in real time.
303
+ */
304
+ updateRemoteConfig():Promise<FTRemoteConfigResult>
305
+ /**
306
+ * Update remote configuration with minimum update interval, after enabling remote configuration, you can call this method to update the configuration in real time.
307
+ * This method is used to set the minimum update interval for remote configuration updates. If the time since the last update is less than the specified interval, the update will not be performed.
308
+ * @param interval minimum update interval, unit seconds
309
+ * @param rules Remote config override rules .Adjust the fetched remote configuration before application.
310
+ * @returns the result of the remote config update
311
+ */
312
+ updateRemoteConfigWithMiniUpdateInterval(interval:number,rules?: Array<FTRemoteConfigOverrideRule>):Promise<FTRemoteConfigResult>
313
+ /**
314
+ * Listen for auto remote configuration updates triggered by the native SDK.
315
+ * Manual updates are returned through the update Promise instead of this event.
316
+ */
317
+ addRemoteConfigListener(listener:(result:FTRemoteConfigResult)=>void): EmitterSubscription
121
318
  };
122
319
 
123
320
  class FTMobileReactNativeWrapper implements FTMobileReactNativeType {
124
321
  private sdk:FTMobileReactNativeType = NativeModules.FTMobileReactNative;
322
+ private emitter = new NativeEventEmitter(NativeModules.FTMobileReactNative);
125
323
 
126
324
  sdkConfig(config:FTMobileConfig): Promise<void> {
127
325
  if(config.serverUrl != null && config.serverUrl.length>0 && config.datakitUrl == null){
128
326
  config.datakitUrl = config.serverUrl;
129
327
  }
130
- config.pkgInfo = sdkVersion;
131
328
  return this.sdk.sdkConfig(config);
132
329
  }
133
330
  bindRUMUserData(userId: string,userName?:string,userEmail?:string,extra?:object): Promise<void> {
@@ -157,6 +354,18 @@ type FTMobileReactNativeType = {
157
354
  clearAllData():Promise<void>{
158
355
  return this.sdk.clearAllData();
159
356
  }
357
+ appendBridgeContext(properties: Record<string, any>): void {
358
+ // Use bridgeContextManager to store properties in JavaScript and send to native SDK
359
+ bridgeContextManager.appendBridgeContext(properties);
360
+ }
361
+ updateRemoteConfig():Promise<FTRemoteConfigResult>{
362
+ return this.sdk.updateRemoteConfig();
363
+ }
364
+ updateRemoteConfigWithMiniUpdateInterval(interval:number,rules?: Array<FTRemoteConfigOverrideRule>):Promise<FTRemoteConfigResult>{
365
+ return this.sdk.updateRemoteConfigWithMiniUpdateInterval(interval,rules);
366
+ }
367
+ addRemoteConfigListener(listener:(result:FTRemoteConfigResult)=>void): EmitterSubscription {
368
+ return this.emitter.addListener('ft_remote_config_callback', listener);
369
+ }
160
370
  }
161
371
  export const FTMobileReactNative: FTMobileReactNativeType = new FTMobileReactNativeWrapper();
162
-
package/src/ft_rum.tsx CHANGED
@@ -1,6 +1,7 @@
1
1
  import { NativeModules } from 'react-native';
2
2
  import { FTRumErrorTracking} from './rum/FTRumErrorTracking';
3
3
  import { FTRumActionTracking} from './rum/FTRumActionTracking';
4
+ import { bridgeContextManager } from './ft_mobile_agent';
4
5
 
5
6
  /**
6
7
  * Error monitoring type.
@@ -26,7 +27,41 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
26
27
  */
27
28
  export enum DetectFrequency { normal, frequent, rare }
28
29
 
29
- export enum FTRUMCacheDiscard { discard, discardOldest };
30
+ export enum FTRUMCacheDiscard {
31
+ discard,
32
+ discardOldest,
33
+ }
34
+
35
+ export enum IOSCrashMonitoringType {
36
+ /** Monitor Mach kernel exceptions. */
37
+ machException = 0x01,
38
+
39
+ /** Monitor fatal signals. */
40
+ signal = 0x02,
41
+
42
+ /** Monitor uncaught C++ exceptions. */
43
+ cppException = 0x04,
44
+
45
+ /** Monitor uncaught Objective-C NSExceptions. */
46
+ nsException = 0x08,
47
+
48
+ /** Track and inject system information. */
49
+ system = 0x40,
50
+
51
+ /** Track and inject application state information. */
52
+ applicationState = 0x80,
53
+
54
+ /** All crash monitor types. */
55
+ all = machException |
56
+ signal |
57
+ cppException |
58
+ nsException |
59
+ applicationState |
60
+ system,
61
+
62
+ /** High compatibility crash monitor types (excludes Mach exceptions). */
63
+ highCompatibility = all & ~machException,
64
+ }
30
65
 
31
66
  /**
32
67
  * Set RUM tracking conditions.
@@ -50,6 +85,9 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
50
85
  * @param globalContext custom global parameters
51
86
  * @param rumCacheLimitCount RUM max cache size, default 100_000
52
87
  * @param rumDiscardStrategy RUM data discard strategy
88
+ * @param enableTraceWebView Set whether to enable WebView data collection, default true
89
+ * @param allowWebViewHost Set specific hosts or domains allowed to collect WebView data, nil means collect all
90
+ * @param iosCrashMonitoringType iOS crash monitoring type , default is highCompatibility, which does not include Mach exceptions for better compatibility. you must enable system crash monitoring to get crash stack traces and crash information.
53
91
  */
54
92
  export interface FTRUMConfig{
55
93
  androidAppId:string,
@@ -72,6 +110,9 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
72
110
  globalContext?:object,
73
111
  rumCacheLimitCount?:number,
74
112
  rumDiscardStrategy?:FTRUMCacheDiscard,
113
+ enableTraceWebView?: boolean,
114
+ allowWebViewHost?: Array<string>,
115
+ iosCrashMonitoringType?: IOSCrashMonitoringType,
75
116
  }
76
117
  /**
77
118
  * RUM Resource data.
@@ -212,31 +253,47 @@ import { FTRumActionTracking} from './rum/FTRumActionTracking';
212
253
  return this.rum.setConfig(config);
213
254
  }
214
255
  startAction(actionName:string,actionType:string,property?:object): Promise<void>{
215
- return this.rum.startAction(actionName,actionType,property);
256
+ // Automatically merge bridge context properties with local properties
257
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
258
+ return this.rum.startAction(actionName,actionType,mergedProperties);
216
259
  }
217
260
  addAction(actionName: string, actionType: string, property?: object): Promise<void> {
218
- return this.rum.addAction(actionName,actionType,property);
261
+ // Automatically merge bridge context properties with local properties
262
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
263
+ return this.rum.addAction(actionName,actionType,mergedProperties);
219
264
  }
220
265
  onCreateView(viewName:string,loadTime:number): Promise<void>{
221
266
  return this.rum.onCreateView(viewName,loadTime);
222
267
  }
223
268
  startView(viewName: string, property?:object): Promise<void>{
224
- return this.rum.startView(viewName,property);
269
+ // Automatically merge bridge context properties with local properties
270
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
271
+ return this.rum.startView(viewName,mergedProperties);
225
272
  }
226
273
  stopView(property?:object): Promise<void>{
227
- return this.rum.stopView(property);
274
+ // Automatically merge bridge context properties with local properties
275
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
276
+ return this.rum.stopView(mergedProperties);
228
277
  }
229
278
  addError(stack: string, message: string,property?:object): Promise<void>{
230
- return this.rum.addError(stack,message,property);
279
+ // Automatically merge bridge context properties with local properties
280
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
281
+ return this.rum.addError(stack,message,mergedProperties);
231
282
  }
232
283
  addErrorWithType(type:string,stack: string, message: string,property?:object): Promise<void>{
233
- return this.rum.addErrorWithType(type,stack,message,property);
284
+ // Automatically merge bridge context properties with local properties
285
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
286
+ return this.rum.addErrorWithType(type,stack,message,mergedProperties);
234
287
  }
235
288
  startResource(key: string,property?:object): Promise<void>{
236
- return this.rum.startResource(key,property);
289
+ // Automatically merge bridge context properties with local properties
290
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
291
+ return this.rum.startResource(key,mergedProperties);
237
292
  }
238
293
  stopResource(key: string,property?:object): Promise<void>{
239
- return this.rum.stopResource(key,property);
294
+ // Automatically merge bridge context properties with local properties
295
+ const mergedProperties = bridgeContextManager.mergeWithLocalPropertiesSync(property);
296
+ return this.rum.stopResource(key,mergedProperties);
240
297
  }
241
298
  addResource(key:string, resource:FTRUMResource,metrics:FTRUMResourceMetrics={}):Promise<void>{
242
299
  return this.rum.addResource(key,resource,metrics);
@@ -5,11 +5,30 @@ import { NativeModules } from 'react-native';
5
5
  * Trace types for use.
6
6
  */
7
7
  export enum TraceType {
8
+ //
9
+ // datadog trace
10
+ //
11
+ // x-datadog-trace-id
12
+ // x-datadog-parent-id
13
+ // x-datadog-sampling-priority
14
+ // x-datadog-origin
15
+ //
8
16
  ddTrace,
17
+ //
18
+ // zipkin multi header
19
+ //
20
+ // X-B3-TraceId
21
+ // X-B3-SpanId
22
+ // X-B3-Sampled
23
+ //
9
24
  zipkinMulti,
25
+ /// zipkin single header,b3
10
26
  zipkinSingle,
27
+ // w3c, traceparent
11
28
  traceparent,
29
+ // skywalking 8.0+, sw-8
12
30
  skywalking,
31
+ // jaeger, header uber-trace-id
13
32
  jaeger,
14
33
  };
15
34
  /**
@@ -32,7 +51,7 @@ import { NativeModules } from 'react-native';
32
51
  * @param config trace configuration parameters.
33
52
  * @returns a Promise.
34
53
  */
35
- setConfig(config: FTTraceConfig): Promise<void>;
54
+ setConfig(config: FTTraceConfig): Promise<void>;
36
55
  /**
37
56
  * Get trace HTTP request header data.
38
57
  * @param url request URL
@@ -75,5 +94,5 @@ import { NativeModules } from 'react-native';
75
94
  }
76
95
 
77
96
  }
78
- export const FTReactNativeTrace:FTReactNativeTraceType = new FTReactNativeTraceWrapper();
97
+ export const FTReactNativeTrace:FTReactNativeTraceType = new FTReactNativeTraceWrapper();
79
98
 
package/src/index.tsx CHANGED
@@ -1,17 +1,18 @@
1
- import {FTMobileConfig,FTMobileReactNative,EnvType,FTDBCacheDiscard} from './ft_mobile_agent'
1
+ import {FTMobileConfig,FTMobileReactNative,EnvType,FTDBCacheDiscard,FTRemoteConfigResult,
2
+ FTRemoteConfigOverrideRule,FTRemoteConfigOverrideMatch,FTRemoteConfigOverrideValues} from './ft_mobile_agent'
2
3
  import {FTLogConfig,FTReactNativeLog,FTLogStatus,FTLogCacheDiscard} from './ft_logger'
3
- import {FTRUMConfig,FTRUMResource,FTReactNativeRUM,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard} from './ft_rum'
4
+ import {FTRUMConfig,FTRUMResource,FTReactNativeRUM,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,IOSCrashMonitoringType} from './ft_rum'
4
5
  import {FTTraceConfig,FTReactNativeTrace,TraceType} from './ft_tracing'
5
6
  import {FTRumActionTracking} from './rum/FTRumActionTracking'
6
7
  import {FTRumErrorTracking} from './rum/FTRumErrorTracking'
7
8
 
8
9
 
9
10
  export {
10
- FTMobileReactNative,FTMobileConfig,EnvType,FTDBCacheDiscard,
11
+ FTMobileReactNative,FTMobileConfig,EnvType,FTDBCacheDiscard,FTRemoteConfigResult,
12
+ FTRemoteConfigOverrideRule,FTRemoteConfigOverrideMatch,FTRemoteConfigOverrideValues,
11
13
  FTLogConfig, FTReactNativeLog,FTLogStatus,FTLogCacheDiscard,
12
- FTRUMConfig,FTReactNativeRUM,FTRUMResource,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,
14
+ FTRUMConfig,FTReactNativeRUM,FTRUMResource,ErrorMonitorType,DeviceMetricsMonitorType,DetectFrequency,FTRUMResourceMetrics,FTRUMCacheDiscard,IOSCrashMonitoringType,
13
15
  FTTraceConfig,FTReactNativeTrace,TraceType,
14
16
  FTRumActionTracking,
15
17
  FTRumErrorTracking
16
18
  };
17
-
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // generated by genversion
2
- export const version = '0.3.15-alpha.1';
2
+ export const version = '0.3.16';
@@ -1,8 +0,0 @@
1
- package com.ft.sdk;
2
-
3
- public class InnerClassProxy {
4
-
5
- public static void addPkgInfo(FTSDKConfig config, String key, String value) {
6
- config.addPkgInfo(key, value);
7
- }
8
- }