react-native-gleapsdk 10.0.0 → 11.0.0
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/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.idea/gradle.xml +0 -6
- package/android/.idea/misc.xml +2 -1
- package/android/build.gradle +1 -1
- package/android/local.properties +1 -1
- package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +15 -1
- package/ios/Gleapsdk.m +7 -0
- package/lib/commonjs/index.js +6 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/networklogger.js +29 -81
- package/lib/commonjs/networklogger.js.map +1 -1
- package/lib/module/index.js +6 -23
- package/lib/module/index.js.map +1 -1
- package/lib/module/networklogger.js +29 -80
- package/lib/module/networklogger.js.map +1 -1
- package/lib/typescript/index.d.ts +5 -3
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/networklogger.d.ts +1 -0
- package/lib/typescript/networklogger.d.ts.map +1 -0
- package/package.json +5 -6
- package/react-native-gleapsdk.podspec +1 -1
- package/src/index.tsx +1 -0
- package/android/.gradle/6.8/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/jarRepositories.xml +0 -35
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_0_0.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_core_core_1_0_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_0_3.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_0_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_63_4_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_9_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_9_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_14_1.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_12.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_12.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0.xml +0 -13
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/modules/android.iml +0 -91
- package/android/.idea/modules.xml +0 -8
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Gleapsdk.xcodeproj/project.xcworkspace/xcuserdata/lukasboehler.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Gleapsdk.xcodeproj/xcuserdata/lukasboehler.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Sun Jun 18 15:13:42 CEST 2023
|
|
2
2
|
gradle.version=6.8
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/.idea/gradle.xml
CHANGED
|
@@ -6,12 +6,6 @@
|
|
|
6
6
|
<option name="testRunner" value="GRADLE" />
|
|
7
7
|
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
|
8
8
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
|
9
|
-
<option name="modules">
|
|
10
|
-
<set>
|
|
11
|
-
<option value="$PROJECT_DIR$" />
|
|
12
|
-
</set>
|
|
13
|
-
</option>
|
|
14
|
-
<option name="resolveModulePerSourceSet" value="false" />
|
|
15
9
|
</GradleProjectSettings>
|
|
16
10
|
</option>
|
|
17
11
|
</component>
|
package/android/.idea/misc.xml
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
2
|
<project version="4">
|
|
3
|
-
<component name="
|
|
3
|
+
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
|
4
|
+
<component name="ProjectRootManager" version="2" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
|
|
4
5
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
|
5
6
|
</component>
|
|
6
7
|
<component name="ProjectType">
|
package/android/build.gradle
CHANGED
|
@@ -51,7 +51,7 @@ repositories {
|
|
|
51
51
|
|
|
52
52
|
dependencies {
|
|
53
53
|
implementation "com.facebook.react:react-native:+"
|
|
54
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '
|
|
54
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '11.0.0'
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
if(rootProject && rootProject.ext) {
|
package/android/local.properties
CHANGED
|
@@ -581,7 +581,7 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
581
581
|
public void run() {
|
|
582
582
|
try {
|
|
583
583
|
JSONObject body = new JSONObject();
|
|
584
|
-
body.put("page",
|
|
584
|
+
body.put("page", pageName);
|
|
585
585
|
Gleap.getInstance().trackEvent("pageView", body);
|
|
586
586
|
} catch (Exception ignore) {
|
|
587
587
|
}
|
|
@@ -961,6 +961,20 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
961
961
|
}
|
|
962
962
|
}
|
|
963
963
|
|
|
964
|
+
@ReactMethod
|
|
965
|
+
public void startBot(String botId, Boolean showBackButton) {
|
|
966
|
+
try {
|
|
967
|
+
getActivitySafe().runOnUiThread(
|
|
968
|
+
new Runnable() {
|
|
969
|
+
@Override
|
|
970
|
+
public void run() {
|
|
971
|
+
Gleap.getInstance().startBot(botId, showBackButton);
|
|
972
|
+
}
|
|
973
|
+
});
|
|
974
|
+
} catch (NoUiThreadException e) {
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
|
|
964
978
|
@ReactMethod
|
|
965
979
|
public void setDisableInAppNotifications(Boolean disableInAppNotifications) {
|
|
966
980
|
try {
|
package/ios/Gleapsdk.m
CHANGED
|
@@ -213,6 +213,13 @@ RCT_EXPORT_METHOD(setActivationMethods:(NSArray *)activationMethods)
|
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
+
RCT_EXPORT_METHOD(startBot:(NSString *)botId andShowBackButton:(BOOL)showBackButton)
|
|
217
|
+
{
|
|
218
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
219
|
+
[Gleap startBot: botId showBackButton: showBackButton];
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
|
|
216
223
|
RCT_EXPORT_METHOD(startFeedbackFlow:(NSString *)feedbackFlow andShowBackButton:(BOOL)showBackButton)
|
|
217
224
|
{
|
|
218
225
|
dispatch_async(dispatch_get_main_queue(), ^{
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _reactNative = require("react-native");
|
|
9
|
-
|
|
10
8
|
var _networklogger = _interopRequireDefault(require("./networklogger"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
const LINKING_ERROR = `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
15
11
|
ios: "- You have run 'pod install'\n",
|
|
16
12
|
default: ''
|
|
@@ -19,21 +15,18 @@ const GleapSdk = _reactNative.NativeModules.Gleapsdk ? _reactNative.NativeModule
|
|
|
19
15
|
get() {
|
|
20
16
|
throw new Error(LINKING_ERROR);
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
});
|
|
24
|
-
|
|
25
19
|
if (GleapSdk && !GleapSdk.touched) {
|
|
26
|
-
const networkLogger = new _networklogger.default();
|
|
20
|
+
const networkLogger = new _networklogger.default();
|
|
27
21
|
|
|
22
|
+
// Push the network log to the native SDK.
|
|
28
23
|
GleapSdk.startNetworkLogging = () => {
|
|
29
24
|
// Set the callback.
|
|
30
25
|
networkLogger.setUpdatedCallback(() => {
|
|
31
26
|
if (!networkLogger) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const requests = networkLogger.getRequests();
|
|
36
|
-
|
|
37
30
|
if (requests && GleapSdk && typeof GleapSdk.attachNetworkLog !== 'undefined') {
|
|
38
31
|
if (_reactNative.Platform.OS === 'android') {
|
|
39
32
|
GleapSdk.attachNetworkLog(JSON.stringify(requests));
|
|
@@ -41,35 +34,30 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
41
34
|
GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));
|
|
42
35
|
}
|
|
43
36
|
}
|
|
44
|
-
});
|
|
37
|
+
});
|
|
45
38
|
|
|
39
|
+
// Start the logger.
|
|
46
40
|
networkLogger.start();
|
|
47
41
|
};
|
|
48
|
-
|
|
49
42
|
GleapSdk.stopNetworkLogging = () => {
|
|
50
43
|
networkLogger.setStopped(true);
|
|
51
|
-
};
|
|
52
|
-
|
|
44
|
+
};
|
|
53
45
|
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
54
47
|
GleapSdk.logEvent = (name, data) => {
|
|
55
48
|
console.log('logEvent is deprecated. Use trackEvent instead.');
|
|
56
49
|
GleapSdk.trackEvent(name, data);
|
|
57
50
|
};
|
|
58
|
-
|
|
59
51
|
var callbacks = {};
|
|
60
|
-
|
|
61
52
|
GleapSdk.registerListener = (eventType, callback) => {
|
|
62
53
|
if (!callbacks[eventType]) {
|
|
63
54
|
callbacks[eventType] = [];
|
|
64
55
|
}
|
|
65
|
-
|
|
66
56
|
callbacks[eventType].push(callback);
|
|
67
57
|
};
|
|
68
|
-
|
|
69
58
|
GleapSdk.registerCustomAction = customActionCallback => {
|
|
70
59
|
GleapSdk.registerListener('customActionTriggered', customActionCallback);
|
|
71
60
|
};
|
|
72
|
-
|
|
73
61
|
const notifyCallback = function (eventType, data) {
|
|
74
62
|
if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
|
|
75
63
|
for (var i = 0; i < callbacks[eventType].length; i++) {
|
|
@@ -79,16 +67,13 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
79
67
|
}
|
|
80
68
|
}
|
|
81
69
|
};
|
|
82
|
-
|
|
83
70
|
const gleapEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.Gleapsdk);
|
|
84
71
|
gleapEmitter.addListener('configLoaded', config => {
|
|
85
72
|
try {
|
|
86
73
|
const configJSON = config instanceof Object ? config : JSON.parse(config);
|
|
87
|
-
|
|
88
74
|
if (configJSON.enableNetworkLogs) {
|
|
89
75
|
GleapSdk.startNetworkLogging();
|
|
90
76
|
}
|
|
91
|
-
|
|
92
77
|
notifyCallback('configLoaded', configJSON);
|
|
93
78
|
} catch (exp) {}
|
|
94
79
|
});
|
|
@@ -116,27 +101,22 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
116
101
|
gleapEmitter.addListener('unregisterPushMessageGroup', pushMessageGroup => {
|
|
117
102
|
notifyCallback('unregisterPushMessageGroup', pushMessageGroup);
|
|
118
103
|
});
|
|
119
|
-
|
|
120
104
|
function isJsonString(str) {
|
|
121
105
|
try {
|
|
122
106
|
JSON.parse(str);
|
|
123
107
|
} catch (e) {
|
|
124
108
|
return false;
|
|
125
109
|
}
|
|
126
|
-
|
|
127
110
|
return true;
|
|
128
111
|
}
|
|
129
|
-
|
|
130
112
|
gleapEmitter.addListener('customActionTriggered', data => {
|
|
131
113
|
try {
|
|
132
114
|
if (isJsonString(data)) {
|
|
133
115
|
data = JSON.parse(data);
|
|
134
116
|
}
|
|
135
|
-
|
|
136
117
|
const {
|
|
137
118
|
name
|
|
138
119
|
} = data;
|
|
139
|
-
|
|
140
120
|
if (name) {
|
|
141
121
|
notifyCallback('customActionTriggered', {
|
|
142
122
|
name
|
|
@@ -147,7 +127,6 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
147
127
|
GleapSdk.removeAllAttachments();
|
|
148
128
|
GleapSdk.touched = true;
|
|
149
129
|
}
|
|
150
|
-
|
|
151
130
|
var _default = GleapSdk;
|
|
152
131
|
exports.default = _default;
|
|
153
132
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["LINKING_ERROR","Platform","select","ios","default","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments"],"mappings":"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","sourcesContent":["import { NativeModules, NativeEventEmitter, Platform } from 'react-native';\nimport GleapNetworkIntercepter from './networklogger';\n\nconst LINKING_ERROR =\n `The package 'react-native-gleapsdk' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport type GleapUserProperty = {\n email?: string;\n name?: string;\n phone?: string;\n value?: number;\n customData?: { [key: string]: string | number };\n};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n startFeedbackFlow(feedbackFlow: string, showBackButton: boolean): void;\n sendSilentCrashReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n sendSilentCrashReportWithExcludeData(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH',\n excludeData: {\n customData?: Boolean;\n metaData?: Boolean;\n attachments?: Boolean;\n consoleLog?: Boolean;\n networkLogs?: Boolean;\n customEventLog?: Boolean;\n screenshot?: Boolean;\n replays?: Boolean;\n }\n ): void;\n open(): void;\n openNews(showBackButton: boolean): void;\n openNewsArticle(articleId: string, showBackButton: boolean): void;\n openFeatureRequests(showBackButton: boolean): void;\n openHelpCenter(showBackButton: boolean): void;\n openHelpCenterCollection(collectionId: string, showBackButton: boolean): void;\n openHelpCenterArticle(articleId: string, showBackButton: boolean): void;\n searchHelpCenter(term: string, showBackButton: boolean): void;\n close(): void;\n isOpened(): Promise<boolean>;\n identify(userId: string, userProperties: GleapUserProperty): void;\n identifyWithUserHash(\n userId: string,\n userProperties: GleapUserProperty,\n userHash: string\n ): void;\n showFeedbackButton(show: boolean): void;\n clearIdentity(): void;\n preFillForm(formData: { [key: string]: string }): void;\n setApiUrl(apiUrl: string): void;\n setFrameUrl(frameUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n setDisableInAppNotifications(disableInAppNotifications: boolean): void;\n registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): void;\n setTags(tags: string[]): void;\n trackPage(pageName: String): void;\n showSurvey(surveyId: String, format: 'survey' | 'survey_full'): void;\n log(message: string): void;\n logWithLogLevel(\n message: string,\n logLevel: 'INFO' | 'WARNING' | 'ERROR'\n ): void;\n logEvent(name: string, data: any): void;\n trackEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n setActivationMethods(activationMethods: GleapActivationMethod[]): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n getIdentity(): Promise<any>;\n isUserIdentified(): Promise<boolean>;\n};\n\nconst GleapSdk = NativeModules.Gleapsdk\n ? NativeModules.Gleapsdk\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nif (GleapSdk && !GleapSdk.touched) {\n const networkLogger = new GleapNetworkIntercepter();\n\n // Push the network log to the native SDK.\n GleapSdk.startNetworkLogging = () => {\n // Set the callback.\n networkLogger.setUpdatedCallback(() => {\n if (!networkLogger) {\n return;\n }\n\n const requests = networkLogger.getRequests();\n\n if (\n requests &&\n GleapSdk &&\n typeof GleapSdk.attachNetworkLog !== 'undefined'\n ) {\n if (Platform.OS === 'android') {\n GleapSdk.attachNetworkLog(JSON.stringify(requests));\n } else {\n GleapSdk.attachNetworkLog(JSON.parse(JSON.stringify(requests)));\n }\n }\n });\n\n // Start the logger.\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n GleapSdk.logEvent = (name: string, data: any) => {\n console.log('logEvent is deprecated. Use trackEvent instead.');\n GleapSdk.trackEvent(name, data);\n };\n\n var callbacks: any = {};\n\n GleapSdk.registerListener = (eventType: string, callback: any) => {\n if (!callbacks[eventType]) {\n callbacks[eventType] = [];\n }\n callbacks[eventType].push(callback);\n };\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n GleapSdk.registerListener('customActionTriggered', customActionCallback);\n };\n\n const notifyCallback = function (eventType: string, data?: any) {\n if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {\n for (var i = 0; i < callbacks[eventType].length; i++) {\n if (callbacks[eventType][i]) {\n callbacks[eventType][i](data);\n }\n }\n }\n };\n\n const gleapEmitter = new NativeEventEmitter(NativeModules.Gleapsdk);\n\n gleapEmitter.addListener('configLoaded', (config: any) => {\n try {\n const configJSON = config instanceof Object ? config : JSON.parse(config);\n if (configJSON.enableNetworkLogs) {\n GleapSdk.startNetworkLogging();\n }\n notifyCallback('configLoaded', configJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackSent', (data) => {\n try {\n const dataJSON = data instanceof Object ? data : JSON.parse(data);\n notifyCallback('feedbackSent', dataJSON);\n } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackFlowStarted', (feedbackAction) => {\n notifyCallback('feedbackFlowStarted', feedbackAction);\n });\n\n gleapEmitter.addListener('feedbackSendingFailed', () => {\n notifyCallback('feedbackSendingFailed');\n });\n\n gleapEmitter.addListener('widgetOpened', () => {\n notifyCallback('widgetOpened');\n });\n\n gleapEmitter.addListener('widgetClosed', () => {\n notifyCallback('widgetClosed');\n });\n\n gleapEmitter.addListener('registerPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('registerPushMessageGroup', pushMessageGroup);\n });\n\n gleapEmitter.addListener('unregisterPushMessageGroup', (pushMessageGroup) => {\n notifyCallback('unregisterPushMessageGroup', pushMessageGroup);\n });\n\n function isJsonString(str: string) {\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n }\n\n gleapEmitter.addListener('customActionTriggered', (data: any) => {\n try {\n if (isJsonString(data)) {\n data = JSON.parse(data);\n }\n const { name } = data;\n if (name) {\n notifyCallback('customActionTriggered', {\n name,\n });\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_networklogger","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","pushMessageGroup","isJsonString","str","e","removeAllAttachments","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -4,109 +4,79 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
|
|
10
7
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
11
8
|
class GleapNetworkIntercepter {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
_defineProperty(this, "maxRequests", 25);
|
|
18
|
-
|
|
19
|
-
_defineProperty(this, "stopped", false);
|
|
20
|
-
|
|
21
|
-
_defineProperty(this, "updatedCallback", null);
|
|
22
|
-
}
|
|
23
|
-
|
|
9
|
+
requestId = 0;
|
|
10
|
+
requests = {};
|
|
11
|
+
maxRequests = 25;
|
|
12
|
+
stopped = false;
|
|
13
|
+
updatedCallback = null;
|
|
24
14
|
setUpdatedCallback(updatedCallback) {
|
|
25
15
|
this.updatedCallback = updatedCallback;
|
|
26
16
|
}
|
|
27
|
-
|
|
28
17
|
getRequests() {
|
|
29
18
|
return Object.values(this.requests);
|
|
30
19
|
}
|
|
31
|
-
|
|
32
20
|
setMaxRequests(maxRequests) {
|
|
33
21
|
this.maxRequests = maxRequests;
|
|
34
22
|
}
|
|
35
|
-
|
|
36
23
|
setStopped(stopped) {
|
|
37
24
|
this.stopped = stopped;
|
|
38
25
|
}
|
|
39
|
-
|
|
40
26
|
cleanRequests() {
|
|
41
27
|
var keys = Object.keys(this.requests);
|
|
42
|
-
|
|
43
28
|
if (keys.length > this.maxRequests) {
|
|
44
29
|
var keysToRemove = keys.slice(0, keys.length - this.maxRequests);
|
|
45
|
-
|
|
46
30
|
for (var i = 0; i < keysToRemove.length; i++) {
|
|
47
31
|
delete this.requests[keysToRemove[i]];
|
|
48
32
|
}
|
|
49
33
|
}
|
|
50
|
-
|
|
51
34
|
if (this.updatedCallback) {
|
|
52
35
|
this.updatedCallback();
|
|
53
36
|
}
|
|
54
37
|
}
|
|
55
|
-
|
|
56
38
|
calcRequestTime(gleapRequestId) {
|
|
57
39
|
if (!this.requests[gleapRequestId]) {
|
|
58
40
|
return;
|
|
59
41
|
}
|
|
60
|
-
|
|
61
42
|
var startDate = this.requests[gleapRequestId].date;
|
|
62
|
-
|
|
63
43
|
if (startDate && typeof startDate.getTime === 'function' && !Object.isFrozen(this.requests[gleapRequestId])) {
|
|
64
44
|
this.requests[gleapRequestId].duration = new Date().getTime() - startDate.getTime();
|
|
65
45
|
this.requests[gleapRequestId].date = this.requests[gleapRequestId].date.toString();
|
|
66
46
|
}
|
|
67
47
|
}
|
|
68
|
-
|
|
69
48
|
getTextContentSizeOk(text) {
|
|
70
49
|
if (text && text.length) {
|
|
71
50
|
const size = text.length * 16;
|
|
72
51
|
const kiloBytes = size / 1024;
|
|
73
52
|
const megaBytes = kiloBytes / 1024;
|
|
74
|
-
|
|
75
53
|
if (megaBytes < 0.2) {
|
|
76
54
|
return true;
|
|
77
55
|
}
|
|
78
56
|
}
|
|
79
|
-
|
|
80
57
|
return false;
|
|
81
58
|
}
|
|
82
|
-
|
|
83
59
|
prepareContent(text) {
|
|
84
60
|
if (!this.getTextContentSizeOk(text)) {
|
|
85
61
|
return '<content_too_large>';
|
|
86
62
|
}
|
|
87
|
-
|
|
88
63
|
return text;
|
|
89
64
|
}
|
|
90
|
-
|
|
91
65
|
cleanupPayload(payload) {
|
|
92
66
|
if (payload === undefined || payload === null) {
|
|
93
67
|
return '{}';
|
|
94
68
|
}
|
|
95
|
-
|
|
96
69
|
try {
|
|
97
70
|
if (ArrayBuffer.isView(payload)) {
|
|
98
71
|
return `{ type: "binary", length: ${payload.byteLength} }`;
|
|
99
72
|
}
|
|
100
73
|
} catch (exp) {}
|
|
101
|
-
|
|
102
74
|
return payload;
|
|
103
75
|
}
|
|
104
|
-
|
|
105
76
|
preparePayload(payload) {
|
|
106
77
|
var payloadText = this.cleanupPayload(payload);
|
|
107
78
|
return this.prepareContent(payloadText);
|
|
108
79
|
}
|
|
109
|
-
|
|
110
80
|
start() {
|
|
111
81
|
this.setStopped(false);
|
|
112
82
|
this.interceptNetworkRequests({
|
|
@@ -114,7 +84,6 @@ class GleapNetworkIntercepter {
|
|
|
114
84
|
if (this.stopped || params.length === 0) {
|
|
115
85
|
return;
|
|
116
86
|
}
|
|
117
|
-
|
|
118
87
|
if (params.length >= 2 && params[1] !== undefined) {
|
|
119
88
|
var method = params[1].method ? params[1].method : 'GET';
|
|
120
89
|
this.requests[gleapRequestId] = {
|
|
@@ -134,14 +103,12 @@ class GleapNetworkIntercepter {
|
|
|
134
103
|
date: new Date()
|
|
135
104
|
};
|
|
136
105
|
}
|
|
137
|
-
|
|
138
106
|
this.cleanRequests();
|
|
139
107
|
},
|
|
140
108
|
onFetchLoad: (req, gleapRequestId) => {
|
|
141
109
|
if (this.stopped || !gleapRequestId || !this.requests || !this.requests[gleapRequestId]) {
|
|
142
110
|
return;
|
|
143
111
|
}
|
|
144
|
-
|
|
145
112
|
try {
|
|
146
113
|
this.requests[gleapRequestId].success = true;
|
|
147
114
|
this.requests[gleapRequestId].response = {
|
|
@@ -151,7 +118,6 @@ class GleapNetworkIntercepter {
|
|
|
151
118
|
};
|
|
152
119
|
this.calcRequestTime(gleapRequestId);
|
|
153
120
|
} catch (exp) {}
|
|
154
|
-
|
|
155
121
|
req.text().then(responseText => {
|
|
156
122
|
if (this.requests && this.requests[gleapRequestId]) {
|
|
157
123
|
this.requests[gleapRequestId].success = true;
|
|
@@ -173,7 +139,6 @@ class GleapNetworkIntercepter {
|
|
|
173
139
|
if (this.stopped) {
|
|
174
140
|
return;
|
|
175
141
|
}
|
|
176
|
-
|
|
177
142
|
this.requests[gleapRequestId].success = false;
|
|
178
143
|
this.calcRequestTime(gleapRequestId);
|
|
179
144
|
this.cleanRequests();
|
|
@@ -182,7 +147,6 @@ class GleapNetworkIntercepter {
|
|
|
182
147
|
if (this.stopped) {
|
|
183
148
|
return;
|
|
184
149
|
}
|
|
185
|
-
|
|
186
150
|
if (request && request.gleapRequestId && args.length >= 2 && this.requests) {
|
|
187
151
|
this.requests[request.gleapRequestId] = {
|
|
188
152
|
type: args[0],
|
|
@@ -190,21 +154,18 @@ class GleapNetworkIntercepter {
|
|
|
190
154
|
date: new Date()
|
|
191
155
|
};
|
|
192
156
|
}
|
|
193
|
-
|
|
194
157
|
this.cleanRequests();
|
|
195
158
|
},
|
|
196
159
|
onSend: (request, args) => {
|
|
197
160
|
if (this.stopped) {
|
|
198
161
|
return;
|
|
199
162
|
}
|
|
200
|
-
|
|
201
163
|
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
202
164
|
this.requests[request.gleapRequestId].request = {
|
|
203
165
|
payload: this.preparePayload(args.length > 0 ? args[0] : ''),
|
|
204
166
|
headers: request.requestHeaders
|
|
205
167
|
};
|
|
206
168
|
}
|
|
207
|
-
|
|
208
169
|
this.cleanRequests();
|
|
209
170
|
},
|
|
210
171
|
onError: request => {
|
|
@@ -212,27 +173,22 @@ class GleapNetworkIntercepter {
|
|
|
212
173
|
this.requests[request.gleapRequestId].success = false;
|
|
213
174
|
this.calcRequestTime(request.gleapRequestId);
|
|
214
175
|
}
|
|
215
|
-
|
|
216
176
|
this.cleanRequests();
|
|
217
177
|
},
|
|
218
178
|
onLoad: request => {
|
|
219
179
|
if (this.stopped) {
|
|
220
180
|
return;
|
|
221
181
|
}
|
|
222
|
-
|
|
223
182
|
if (request && request.gleapRequestId && this.requests && this.requests[request.gleapRequestId]) {
|
|
224
183
|
const contentType = request.getResponseHeader('content-type');
|
|
225
184
|
const isTextOrJSON = contentType && (contentType.includes('json') || contentType.includes('text'));
|
|
226
185
|
var responseText = '<' + contentType + '>';
|
|
227
|
-
|
|
228
186
|
if (request.responseType === '' || request.responseType === 'text') {
|
|
229
187
|
responseText = request.responseText;
|
|
230
188
|
}
|
|
231
|
-
|
|
232
189
|
if (request._response && isTextOrJSON) {
|
|
233
190
|
responseText = request._response;
|
|
234
191
|
}
|
|
235
|
-
|
|
236
192
|
this.requests[request.gleapRequestId].success = true;
|
|
237
193
|
this.requests[request.gleapRequestId].response = {
|
|
238
194
|
status: request.status,
|
|
@@ -240,95 +196,90 @@ class GleapNetworkIntercepter {
|
|
|
240
196
|
};
|
|
241
197
|
this.calcRequestTime(request.gleapRequestId);
|
|
242
198
|
}
|
|
243
|
-
|
|
244
199
|
this.cleanRequests();
|
|
245
200
|
}
|
|
246
201
|
});
|
|
247
202
|
}
|
|
248
|
-
|
|
249
203
|
interceptNetworkRequests(callback) {
|
|
250
204
|
// eslint-disable-next-line consistent-this
|
|
251
|
-
var self = this;
|
|
205
|
+
var self = this;
|
|
252
206
|
|
|
207
|
+
// @ts-ignore
|
|
253
208
|
if (XMLHttpRequest.prototype.gleapTouched) {
|
|
254
209
|
return;
|
|
255
|
-
}
|
|
256
|
-
|
|
210
|
+
}
|
|
257
211
|
|
|
258
|
-
|
|
212
|
+
// @ts-ignore
|
|
213
|
+
XMLHttpRequest.prototype.gleapTouched = true;
|
|
259
214
|
|
|
215
|
+
// XMLHttpRequest
|
|
260
216
|
const open = XMLHttpRequest.prototype.open;
|
|
261
|
-
const send = XMLHttpRequest.prototype.send;
|
|
217
|
+
const send = XMLHttpRequest.prototype.send;
|
|
262
218
|
|
|
219
|
+
// @ts-ignore
|
|
263
220
|
XMLHttpRequest.prototype.wrappedSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
|
|
264
|
-
|
|
265
221
|
XMLHttpRequest.prototype.setRequestHeader = function (header, value) {
|
|
266
222
|
// @ts-ignore
|
|
267
223
|
if (!this.requestHeaders) {
|
|
268
224
|
// @ts-ignore
|
|
269
225
|
this.requestHeaders = {};
|
|
270
|
-
}
|
|
271
|
-
|
|
226
|
+
}
|
|
272
227
|
|
|
228
|
+
// @ts-ignore
|
|
273
229
|
if (this.requestHeaders && this.requestHeaders.hasOwnProperty(header)) {
|
|
274
230
|
return;
|
|
275
|
-
}
|
|
276
|
-
|
|
231
|
+
}
|
|
277
232
|
|
|
233
|
+
// @ts-ignore
|
|
278
234
|
if (!this.requestHeaders[header]) {
|
|
279
235
|
// @ts-ignore
|
|
280
236
|
this.requestHeaders[header] = [];
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
this.requestHeaders[header].push(value); // @ts-ignore
|
|
237
|
+
}
|
|
285
238
|
|
|
239
|
+
// @ts-ignore
|
|
240
|
+
this.requestHeaders[header].push(value);
|
|
241
|
+
// @ts-ignore
|
|
286
242
|
this.wrappedSetRequestHeader(header, value);
|
|
287
243
|
};
|
|
288
|
-
|
|
289
244
|
XMLHttpRequest.prototype.open = function () {
|
|
290
245
|
this.gleapRequestId = ++self.requestId;
|
|
291
246
|
callback.onOpen && callback.onOpen(this, arguments);
|
|
292
|
-
|
|
293
247
|
if (callback.onLoad) {
|
|
294
248
|
this.addEventListener('load', function () {
|
|
295
249
|
// @ts-ignore
|
|
296
250
|
callback.onLoad(this);
|
|
297
251
|
});
|
|
298
252
|
}
|
|
299
|
-
|
|
300
253
|
if (callback.onError) {
|
|
301
254
|
this.addEventListener('error', function () {
|
|
302
255
|
// @ts-ignore
|
|
303
256
|
callback.onError(this);
|
|
304
257
|
});
|
|
305
|
-
}
|
|
306
|
-
|
|
258
|
+
}
|
|
307
259
|
|
|
260
|
+
// @ts-ignore
|
|
308
261
|
return open.apply(this, arguments);
|
|
309
262
|
};
|
|
310
|
-
|
|
311
263
|
XMLHttpRequest.prototype.send = function () {
|
|
312
|
-
callback.onSend && callback.onSend(this, arguments);
|
|
313
|
-
|
|
264
|
+
callback.onSend && callback.onSend(this, arguments);
|
|
265
|
+
// @ts-ignore
|
|
314
266
|
return send.apply(this, arguments);
|
|
315
|
-
};
|
|
316
|
-
|
|
267
|
+
};
|
|
317
268
|
|
|
269
|
+
// Fetch
|
|
318
270
|
if (global) {
|
|
319
271
|
(function () {
|
|
320
272
|
var originalFetch = global.fetch;
|
|
321
|
-
|
|
322
273
|
global.fetch = function () {
|
|
323
274
|
var gleapRequestId = ++self.requestId;
|
|
324
275
|
callback.onFetch(arguments, gleapRequestId);
|
|
325
|
-
return originalFetch
|
|
276
|
+
return originalFetch
|
|
277
|
+
// @ts-ignore
|
|
326
278
|
.apply(this, arguments).then(function (response) {
|
|
327
279
|
if (response && typeof response.clone === 'function') {
|
|
328
280
|
const data = response.clone();
|
|
329
281
|
callback.onFetchLoad(data, gleapRequestId);
|
|
330
282
|
}
|
|
331
|
-
|
|
332
283
|
return response;
|
|
333
284
|
}).catch(err => {
|
|
334
285
|
callback.onFetchFailed(err, gleapRequestId);
|
|
@@ -337,12 +288,9 @@ class GleapNetworkIntercepter {
|
|
|
337
288
|
};
|
|
338
289
|
})();
|
|
339
290
|
}
|
|
340
|
-
|
|
341
291
|
return callback;
|
|
342
292
|
}
|
|
343
|
-
|
|
344
293
|
}
|
|
345
|
-
|
|
346
294
|
var _default = GleapNetworkIntercepter;
|
|
347
295
|
exports.default = _default;
|
|
348
296
|
//# sourceMappingURL=networklogger.js.map
|