@truewatchtech/react-native-mobile 0.3.15 → 0.4.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.
Files changed (113) hide show
  1. package/FTMobileReactNativeSDK.podspec +32 -2
  2. package/android/build.gradle +10 -4
  3. package/android/src/main/java/com/ft/sdk/reactnative/FTMobileImpl.java +434 -5
  4. package/android/src/main/java/com/ft/sdk/reactnative/FTRUMImpl.java +12 -0
  5. package/android/src/main/java/com/ft/sdk/reactnative/FTTraceImpl.java +1 -1
  6. package/android/src/newarch/java/com/ft/sdk/reactnative/FTLogModule.java +7 -14
  7. package/android/src/newarch/java/com/ft/sdk/reactnative/FTMobileModule.java +46 -12
  8. package/android/src/newarch/java/com/ft/sdk/reactnative/FTRUMModule.java +12 -13
  9. package/android/src/newarch/java/com/ft/sdk/reactnative/FTTraceModule.java +6 -8
  10. package/android/src/oldarch/java/com/ft/sdk/reactnative/FTMobileModule.java +34 -2
  11. package/android/src/rnpost74/java/com/ft/sdk/reactnative/FTMobilePackage.java +14 -4
  12. package/android/src/rnpre74/java/com/ft/sdk/reactnative/FTMobilePackage.java +0 -2
  13. package/ios/FTMobileReactNative.h +9 -5
  14. package/ios/FTMobileReactNative.mm +619 -0
  15. package/ios/FTReactNativeLog.h +8 -3
  16. package/ios/FTReactNativeLog.mm +79 -0
  17. package/ios/FTReactNativeRUM.h +8 -4
  18. package/ios/{FTReactNativeRUM.m → FTReactNativeRUM.mm} +143 -84
  19. package/ios/FTReactNativeTrace.h +7 -3
  20. package/ios/FTReactNativeTrace.mm +74 -0
  21. package/ios/FtMobileAgent.xcodeproj/project.pbxproj +22 -0
  22. package/lib/commonjs/ft_logger.js +14 -13
  23. package/lib/commonjs/ft_logger.js.map +1 -1
  24. package/lib/commonjs/ft_mobile_agent.js +153 -6
  25. package/lib/commonjs/ft_mobile_agent.js.map +1 -1
  26. package/lib/commonjs/ft_rum.js +55 -21
  27. package/lib/commonjs/ft_rum.js.map +1 -1
  28. package/lib/commonjs/ft_tracing.js +29 -10
  29. package/lib/commonjs/ft_tracing.js.map +1 -1
  30. package/lib/commonjs/index.js +30 -0
  31. package/lib/commonjs/index.js.map +1 -1
  32. package/lib/commonjs/rum/FTRumActionTracking.js +10 -4
  33. package/lib/commonjs/rum/FTRumActionTracking.js.map +1 -1
  34. package/lib/commonjs/rum/FTRumErrorTracking.js +4 -4
  35. package/lib/commonjs/rum/FTRumErrorTracking.js.map +1 -1
  36. package/lib/commonjs/specs/NativeFTMobileReactNative.js +10 -0
  37. package/lib/commonjs/specs/NativeFTMobileReactNative.js.map +1 -0
  38. package/lib/commonjs/specs/NativeFTReactNativeLog.js +10 -0
  39. package/lib/commonjs/specs/NativeFTReactNativeLog.js.map +1 -0
  40. package/lib/commonjs/specs/NativeFTReactNativeRUM.js +10 -0
  41. package/lib/commonjs/specs/NativeFTReactNativeRUM.js.map +1 -0
  42. package/lib/commonjs/specs/NativeFTReactNativeTrace.js +10 -0
  43. package/lib/commonjs/specs/NativeFTReactNativeTrace.js.map +1 -0
  44. package/lib/commonjs/version.js +1 -1
  45. package/lib/commonjs/version.js.map +1 -1
  46. package/lib/module/ft_logger.js +14 -12
  47. package/lib/module/ft_logger.js.map +1 -1
  48. package/lib/module/ft_mobile_agent.js +159 -5
  49. package/lib/module/ft_mobile_agent.js.map +1 -1
  50. package/lib/module/ft_rum.js +54 -16
  51. package/lib/module/ft_rum.js.map +1 -1
  52. package/lib/module/ft_tracing.js +29 -9
  53. package/lib/module/ft_tracing.js.map +1 -1
  54. package/lib/module/index.js +3 -3
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/rum/FTRumActionTracking.js +10 -4
  57. package/lib/module/rum/FTRumActionTracking.js.map +1 -1
  58. package/lib/module/rum/FTRumErrorTracking.js +4 -4
  59. package/lib/module/rum/FTRumErrorTracking.js.map +1 -1
  60. package/lib/module/specs/NativeFTMobileReactNative.js +5 -0
  61. package/lib/module/specs/NativeFTMobileReactNative.js.map +1 -0
  62. package/lib/module/specs/NativeFTReactNativeLog.js +5 -0
  63. package/lib/module/specs/NativeFTReactNativeLog.js.map +1 -0
  64. package/lib/module/specs/NativeFTReactNativeRUM.js +5 -0
  65. package/lib/module/specs/NativeFTReactNativeRUM.js.map +1 -0
  66. package/lib/module/specs/NativeFTReactNativeTrace.js +5 -0
  67. package/lib/module/specs/NativeFTReactNativeTrace.js.map +1 -0
  68. package/lib/module/version.js +1 -1
  69. package/lib/module/version.js.map +1 -1
  70. package/lib/typescript/ft_logger.d.ts +6 -6
  71. package/lib/typescript/ft_mobile_agent.d.ts +165 -14
  72. package/lib/typescript/ft_rum.d.ts +32 -8
  73. package/lib/typescript/ft_tracing.d.ts +6 -6
  74. package/lib/typescript/index.d.ts +3 -3
  75. package/lib/typescript/specs/NativeFTMobileReactNative.d.ts +75 -0
  76. package/lib/typescript/specs/NativeFTReactNativeLog.d.ts +23 -0
  77. package/lib/typescript/specs/NativeFTReactNativeRUM.d.ts +89 -0
  78. package/lib/typescript/specs/NativeFTReactNativeTrace.d.ts +24 -0
  79. package/lib/typescript/version.d.ts +1 -1
  80. package/package.json +29 -96
  81. package/scripts/replace-react-require.js +37 -38
  82. package/src/ft_logger.tsx +71 -40
  83. package/src/ft_mobile_agent.tsx +374 -92
  84. package/src/ft_rum.tsx +227 -123
  85. package/src/ft_tracing.tsx +58 -38
  86. package/src/index.tsx +58 -16
  87. package/src/rum/FTRumActionTracking.tsx +212 -204
  88. package/src/rum/FTRumErrorTracking.tsx +70 -71
  89. package/src/specs/NativeFTMobileReactNative.ts +83 -0
  90. package/src/specs/NativeFTReactNativeLog.ts +29 -0
  91. package/src/specs/NativeFTReactNativeRUM.ts +104 -0
  92. package/src/specs/NativeFTReactNativeTrace.ts +26 -0
  93. package/src/version.ts +1 -1
  94. package/LICENSE +0 -201
  95. package/android/.project +0 -17
  96. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  97. package/android/gradlew +0 -185
  98. package/android/local.properties +0 -8
  99. package/android/src/main/java/com/ft/sdk/InnerClassProxy.java +0 -8
  100. package/ios/.idea/.name +0 -1
  101. package/ios/.idea/ios.iml +0 -2
  102. package/ios/.idea/modules.xml +0 -8
  103. package/ios/.idea/vcs.xml +0 -6
  104. package/ios/.idea/xcode.xml +0 -4
  105. package/ios/FTMobileReactNative.m +0 -183
  106. package/ios/FTReactNativeLog.m +0 -60
  107. package/ios/FTReactNativeTrace.m +0 -58
  108. package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  109. package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/xcuserdata/Brandon.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  110. package/ios/FtMobileAgent.xcodeproj/project.xcworkspace/xcuserdata/Brandon.xcuserdatad/xcschemes/xcschememanagement.plist +0 -5
  111. package/ios/FtMobileAgent.xcodeproj/xcuserdata/Brandon.xcuserdatad/xcschemes/FtMobileAgent.xcscheme +0 -56
  112. package/ios/FtMobileAgent.xcodeproj/xcuserdata/Brandon.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  113. package/ios/RCTVersion.h +0 -8
@@ -1,30 +1,37 @@
1
1
  package com.ft.sdk.reactnative;
2
2
 
3
- import androidx.annotation.NonNull;
4
- import com.facebook.react.turbomodule.core.interfaces.TurboModule;
3
+ import androidx.annotation.Nullable;
4
+
5
+ import com.facebook.react.bridge.Promise;
5
6
  import com.facebook.react.bridge.ReactApplicationContext;
6
- import com.facebook.react.module.annotations.ReactModule;
7
7
  import com.facebook.react.bridge.ReactMethod;
8
- import com.facebook.react.bridge.Promise;
8
+ import com.facebook.react.bridge.ReadableArray;
9
9
  import com.facebook.react.bridge.ReadableMap;
10
10
 
11
- @ReactModule(name = FTMobileModule.NAME)
12
- public class FTMobileModule extends NativeFTMobileSpec {
13
- public static final String NAME = FTMobileImpl.NAME;
14
- private final FTMobileImpl impl = new FTMobileImpl();
11
+
12
+ public class FTMobileModule extends NativeFTMobileReactNativeSpec {
13
+ private final FTMobileImpl impl;
15
14
 
16
15
  public FTMobileModule(ReactApplicationContext reactContext) {
17
16
  super(reactContext);
17
+ impl = new FTMobileImpl(reactContext);
18
18
  }
19
19
 
20
+ @ReactMethod
21
+ public void sdkConfig(ReadableMap context, Promise promise) {
22
+ impl.sdkConfig(context, promise);
23
+ }
24
+
25
+ @ReactMethod
20
26
  @Override
21
- public String getName() {
22
- return NAME;
27
+ public void setDatakitURL(String datakitUrl, Promise promise) {
28
+ impl.setDatakitURL(datakitUrl, promise);
23
29
  }
24
30
 
25
31
  @ReactMethod
26
- public void sdkConfig(ReadableMap context, Promise promise) {
27
- impl.sdkConfig(context, promise);
32
+ @Override
33
+ public void setDatawayURL(String datawayUrl, String clientToken, Promise promise) {
34
+ impl.setDatawayURL(datawayUrl, clientToken, promise);
28
35
  }
29
36
 
30
37
  @ReactMethod
@@ -42,6 +49,12 @@ public class FTMobileModule extends NativeFTMobileSpec {
42
49
  impl.flushSyncData(promise);
43
50
  }
44
51
 
52
+ @ReactMethod
53
+ @Override
54
+ public void trackEventFromExtension(String identifier, Promise promise) {
55
+ //only in react native
56
+ }
57
+
45
58
  @ReactMethod
46
59
  public void appendGlobalContext(ReadableMap extra, Promise promise) {
47
60
  impl.appendGlobalContext(extra, promise);
@@ -66,4 +79,25 @@ public class FTMobileModule extends NativeFTMobileSpec {
66
79
  public void clearAllData(Promise promise) {
67
80
  impl.clearAllData(promise);
68
81
  }
82
+
83
+ @ReactMethod
84
+ public void updateRemoteConfig(Promise promise) {
85
+ impl.updateRemoteConfig(promise);
86
+ }
87
+
88
+ @ReactMethod
89
+ public void updateRemoteConfigWithMiniUpdateInterval(int interval, @Nullable ReadableArray rules, Promise promise) {
90
+ impl.updateRemoteConfigWithMiniUpdateInterval(interval, rules, promise);
91
+ }
92
+
93
+ @ReactMethod
94
+ public void addListener(String eventName) {
95
+ impl.addListener(eventName);
96
+ }
97
+
98
+ @ReactMethod
99
+ public void removeListeners(double count) {
100
+ impl.removeListeners(count);
101
+ }
102
+
69
103
  }
@@ -1,27 +1,20 @@
1
1
  package com.ft.sdk.reactnative;
2
2
 
3
- import androidx.annotation.NonNull;
4
- import com.facebook.react.turbomodule.core.interfaces.TurboModule;
3
+ import androidx.annotation.Nullable;
4
+
5
+ import com.facebook.react.bridge.Promise;
5
6
  import com.facebook.react.bridge.ReactApplicationContext;
6
- import com.facebook.react.module.annotations.ReactModule;
7
7
  import com.facebook.react.bridge.ReactMethod;
8
- import com.facebook.react.bridge.Promise;
9
8
  import com.facebook.react.bridge.ReadableMap;
10
9
 
11
- @ReactModule(name = FTRUMModule.NAME)
12
- public class FTRUMModule extends NativeFTRUMSpec {
13
- public static final String NAME = FTRUMImpl.NAME;
10
+ public class FTRUMModule extends NativeFTReactNativeRUMSpec {
11
+
14
12
  private final FTRUMImpl impl = new FTRUMImpl();
15
13
 
16
14
  public FTRUMModule(ReactApplicationContext reactContext) {
17
15
  super(reactContext);
18
16
  }
19
17
 
20
- @Override
21
- public String getName() {
22
- return NAME;
23
- }
24
-
25
18
  @Override
26
19
  @ReactMethod
27
20
  public void setConfig(ReadableMap context, Promise promise) {
@@ -42,7 +35,7 @@ public class FTRUMModule extends NativeFTRUMSpec {
42
35
 
43
36
  @Override
44
37
  @ReactMethod
45
- public void onCreateView(String viewName, Double duration, Promise promise) {
38
+ public void onCreateView(String viewName, double duration, Promise promise) {
46
39
  impl.onCreateView(viewName, duration, promise);
47
40
  }
48
41
 
@@ -81,4 +74,10 @@ public class FTRUMModule extends NativeFTRUMSpec {
81
74
  public void stopResource(String key, ReadableMap map, Promise promise) {
82
75
  impl.stopResource(key, map, promise);
83
76
  }
77
+
78
+ @Override
79
+ @ReactMethod
80
+ public void addResource(String key, ReadableMap resource, @Nullable ReadableMap metrics, Promise promise) {
81
+ impl.addResource(key, resource, metrics, promise);
82
+ }
84
83
  }
@@ -2,13 +2,10 @@ package com.ft.sdk.reactnative;
2
2
 
3
3
  import com.facebook.react.bridge.Promise;
4
4
  import com.facebook.react.bridge.ReactApplicationContext;
5
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
6
5
  import com.facebook.react.bridge.ReactMethod;
7
6
  import com.facebook.react.bridge.ReadableMap;
8
7
 
9
- @ReactModule(name = FTTraceModule.NAME)
10
- public class FTTraceModule extends NativeFTTraceSpec{
11
- public static final String NAME = FTTraceImpl.NAME;
8
+ public class FTTraceModule extends NativeFTReactNativeTraceSpec {
12
9
  private final FTTraceImpl impl = new FTTraceImpl();
13
10
 
14
11
  public FTTraceModule(ReactApplicationContext reactContext) {
@@ -16,14 +13,15 @@ public class FTTraceModule extends NativeFTTraceSpec{
16
13
  }
17
14
 
18
15
  @Override
19
- public String getName() {
20
- return NAME;
16
+ @ReactMethod
17
+ public void setConfig(ReadableMap context, Promise promise) {
18
+ impl.setConfig(context, promise);
21
19
  }
22
20
 
23
21
  @Override
24
22
  @ReactMethod
25
- public void setConfig(ReadableMap context, Promise promise) {
26
- impl.setConfig(context, promise);
23
+ public void getTraceHeader(String key, String url, Promise promise) {
24
+ //no need to implement
27
25
  }
28
26
 
29
27
  @Override
@@ -1,26 +1,38 @@
1
1
  package com.ft.sdk.reactnative;
2
2
 
3
3
  import androidx.annotation.NonNull;
4
+ import androidx.annotation.Nullable;
4
5
 
5
6
  import com.facebook.react.bridge.Promise;
6
7
  import com.facebook.react.bridge.ReactApplicationContext;
7
8
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
8
9
  import com.facebook.react.bridge.ReactMethod;
10
+ import com.facebook.react.bridge.ReadableArray;
9
11
  import com.facebook.react.bridge.ReadableMap;
10
12
 
11
13
  public class FTMobileModule extends ReactContextBaseJavaModule {
14
+ private final FTMobileImpl impl;
12
15
 
13
16
  public FTMobileModule(ReactApplicationContext reactContext) {
14
17
  super(reactContext);
18
+ impl = new FTMobileImpl(reactContext);
15
19
  }
16
20
 
17
- private final FTMobileImpl impl = new FTMobileImpl();
18
-
19
21
  @ReactMethod
20
22
  public void sdkConfig(ReadableMap context, Promise promise) {
21
23
  impl.sdkConfig(context, promise);
22
24
  }
23
25
 
26
+ @ReactMethod
27
+ public void setDatakitURL(String datakitUrl, Promise promise) {
28
+ impl.setDatakitURL(datakitUrl, promise);
29
+ }
30
+
31
+ @ReactMethod
32
+ public void setDatawayURL(String datawayUrl, String clientToken, Promise promise) {
33
+ impl.setDatawayURL(datawayUrl, clientToken, promise);
34
+ }
35
+
24
36
  @ReactMethod
25
37
  public void bindRUMUserData(String userId, String userName, String userEmail, ReadableMap extra, Promise promise) {
26
38
  impl.bindRUMUserData(userId, userName, userEmail, extra, promise);
@@ -61,6 +73,26 @@ public class FTMobileModule extends ReactContextBaseJavaModule {
61
73
  impl.clearAllData(promise);
62
74
  }
63
75
 
76
+ @ReactMethod
77
+ public void updateRemoteConfig(Promise promise) {
78
+ impl.updateRemoteConfig(promise);
79
+ }
80
+
81
+ @ReactMethod
82
+ public void updateRemoteConfigWithMiniUpdateInterval(int interval, @Nullable ReadableArray rules, Promise promise) {
83
+ impl.updateRemoteConfigWithMiniUpdateInterval(interval, rules, promise);
84
+ }
85
+
86
+ @ReactMethod
87
+ public void addListener(String eventName) {
88
+ impl.addListener(eventName);
89
+ }
90
+
91
+ @ReactMethod
92
+ public void removeListeners(double count) {
93
+ impl.removeListeners(count);
94
+ }
95
+
64
96
  @NonNull
65
97
  @Override
66
98
  public String getName() {
@@ -1,16 +1,23 @@
1
+ /*
2
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
4
+ * Copyright 2016-Present Datadog, Inc.
5
+ */
1
6
  package com.ft.sdk.reactnative;
2
7
 
3
8
  import androidx.annotation.NonNull;
4
9
  import androidx.annotation.Nullable;
5
10
 
6
- import com.ft.sdk.reactnative.BuildConfig;
7
11
  import com.facebook.react.BaseReactPackage;
8
12
  import com.facebook.react.bridge.NativeModule;
9
13
  import com.facebook.react.bridge.ReactApplicationContext;
10
14
  import com.facebook.react.module.model.ReactModuleInfo;
11
15
  import com.facebook.react.module.model.ReactModuleInfoProvider;
16
+ import com.facebook.react.uimanager.ViewManager;
12
17
 
18
+ import java.util.Collections;
13
19
  import java.util.HashMap;
20
+ import java.util.List;
14
21
  import java.util.Map;
15
22
 
16
23
  public class FTMobilePackage extends BaseReactPackage {
@@ -28,8 +35,6 @@ public class FTMobilePackage extends BaseReactPackage {
28
35
  return new FTTraceModule(reactApplicationContext);
29
36
  case FTRUMImpl.NAME:
30
37
  return new FTRUMModule(reactApplicationContext);
31
- // case FTSessionReplayImpl.NAME:
32
- // return new FTSessionReplayModule(reactApplicationContext);
33
38
  default:
34
39
  return null;
35
40
  }
@@ -47,7 +52,6 @@ public class FTMobilePackage extends BaseReactPackage {
47
52
  FTRUMImpl.NAME,
48
53
  FTLogImpl.NAME,
49
54
  FTTraceImpl.NAME,
50
- // FTSessionReplayImpl.NAME,
51
55
  };
52
56
  Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
53
57
 
@@ -68,4 +72,10 @@ public class FTMobilePackage extends BaseReactPackage {
68
72
  }
69
73
  };
70
74
  }
75
+
76
+ @NonNull
77
+ @Override
78
+ public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactApplicationContext) {
79
+ return Collections.emptyList();
80
+ }
71
81
  }
@@ -28,6 +28,4 @@ public class FTMobilePackage implements ReactPackage {
28
28
  public List<ViewManager> createViewManagers(@NonNull ReactApplicationContext reactApplicationContext) {
29
29
  return Collections.emptyList();
30
30
  }
31
-
32
-
33
31
  }
@@ -7,12 +7,16 @@
7
7
  //
8
8
 
9
9
  #import <Foundation/Foundation.h>
10
- #import <React/RCTBridgeModule.h>
10
+ #import <React/RCTEventEmitter.h>
11
11
 
12
- NS_ASSUME_NONNULL_BEGIN
13
12
 
14
- @interface FTMobileReactNative : NSObject<RCTBridgeModule>
13
+ #ifdef RCT_NEW_ARCH_ENABLED
14
+ #import <FTSdkReactNative/FTSdkReactNative.h>
15
+ @interface FTMobileReactNative: RCTEventEmitter <NativeFTMobileReactNativeSpec>
16
+ #else
15
17
 
16
- @end
18
+ #import <React/RCTBridgeModule.h>
19
+ @interface FTMobileReactNative : RCTEventEmitter<RCTBridgeModule>
20
+ #endif
17
21
 
18
- NS_ASSUME_NONNULL_END
22
+ @end