react-native-gleapsdk 6.4.1 → 6.4.2

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.
@@ -56,6 +56,6 @@ dependencies {
56
56
  //noinspection GradleDynamicVersion
57
57
  implementation "com.facebook.react:react-native:+" // From node_modules
58
58
  // https://mvnrepository.com/artifact/io.gleap/gleap-android-sdk
59
- implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '6.4.5'
59
+ implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '6.4.8'
60
60
 
61
61
  }
@@ -13,6 +13,7 @@ import com.facebook.react.bridge.LifecycleEventListener;
13
13
  import com.facebook.react.bridge.ReactApplicationContext;
14
14
  import com.facebook.react.bridge.ReactContextBaseJavaModule;
15
15
  import com.facebook.react.bridge.ReactMethod;
16
+ import com.facebook.react.bridge.ReadableArray;
16
17
  import com.facebook.react.bridge.ReadableMap;
17
18
  import com.facebook.react.module.annotations.ReactModule;
18
19
  import com.facebook.react.modules.core.DeviceEventManagerModule;
@@ -24,6 +25,7 @@ import org.json.JSONObject;
24
25
  import java.io.File;
25
26
  import java.io.FileOutputStream;
26
27
  import java.io.OutputStream;
28
+ import java.util.ArrayList;
27
29
  import java.util.Base64;
28
30
  import java.util.regex.Matcher;
29
31
  import java.util.regex.Pattern;
@@ -34,6 +36,7 @@ import io.gleap.CustomActionCallback;
34
36
  import io.gleap.FeedbackSentCallback;
35
37
  import io.gleap.FeedbackWillBeSentCallback;
36
38
  import io.gleap.Gleap;
39
+ import io.gleap.GleapActivationMethod;
37
40
  import io.gleap.GleapUserProperties;
38
41
  import io.gleap.RequestType;
39
42
 
@@ -77,7 +80,7 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
77
80
  }
78
81
  }
79
82
  });
80
-
83
+
81
84
  Gleap.initialize(sdkKey, activity.getApplication());
82
85
  Gleap.getInstance().setConfigLoadedCallback(new ConfigLoadedCallback() {
83
86
  @Override
@@ -358,6 +361,27 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
358
361
  }
359
362
 
360
363
 
364
+ /**
365
+ * Sets an array of activation methods.
366
+ *
367
+ * @param activationMethods Array of activation methods.
368
+ * @author Gleap
369
+ */
370
+ @ReactMethod
371
+ public void setActivationMethods(ReadableArray activationMethods) {
372
+ ArrayList<GleapActivationMethod> internalActivationMethods = new ArrayList<>();
373
+ for (int i = 0; i < activationMethods.size(); i++) {
374
+ if (activationMethods.getString(i).equalsIgnoreCase("SHAKE")) {
375
+ internalActivationMethods.add(GleapActivationMethod.SHAKE);
376
+ }
377
+ if (activationMethods.getString(i).equalsIgnoreCase("SCREENSHOT")) {
378
+ internalActivationMethods.add(GleapActivationMethod.SCREENSHOT);
379
+ }
380
+ }
381
+ Gleap.getInstance().setActivationMethods(internalActivationMethods.toArray(new GleapActivationMethod[internalActivationMethods.size()]));
382
+ }
383
+
384
+
361
385
  /**
362
386
  * Clears all custom data.
363
387
  */
@@ -560,10 +584,10 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
560
584
  invalidated = true;
561
585
  super.onCatalystInstanceDestroy();
562
586
  }
563
-
587
+
564
588
  @Override
565
589
  public void invalidate() {
566
590
  invalidated = true;
567
591
  super.invalidate();
568
592
  }
569
- }
593
+ }
package/ios/Gleapsdk.m CHANGED
@@ -24,7 +24,6 @@ static NSString *const RCTShowDevMenuNotification = @"RCTShowDevMenuNotification
24
24
  @implementation Gleapsdk
25
25
  {
26
26
  BOOL _hasListeners;
27
- UITapGestureRecognizer *tapGestureRecognizer;
28
27
  }
29
28
 
30
29
  RCT_EXPORT_MODULE()
@@ -38,56 +37,53 @@ RCT_EXPORT_METHOD(initialize:(NSString *)token)
38
37
  {
39
38
  dispatch_async(dispatch_get_main_queue(), ^{
40
39
  [self initSDK];
40
+ [Gleap setAutoActivationMethodsDisabled];
41
41
  [Gleap initializeWithToken: token];
42
42
  });
43
43
  }
44
44
 
45
45
  - (void)configLoaded:(NSDictionary *)config {
46
+ // Hook up shake gesture recognizer.
47
+ [[NSNotificationCenter defaultCenter] addObserver: self
48
+ selector: @selector(motionEnded:)
49
+ name: RCTShowDevMenuNotification
50
+ object: nil];
51
+
52
+ #if !RCT_DEV
53
+ RCTSwapInstanceMethods([UIWindow class], @selector(motionEnded:withEvent:), @selector(handleShakeEvent:withEvent:));
54
+ #endif
55
+
56
+ // Add screenshot gesture recognizer
57
+ NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
58
+ [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationUserDidTakeScreenshotNotification
59
+ object:nil
60
+ queue:mainQueue
61
+ usingBlock:^(NSNotification *note) {
62
+ if ([[Gleap sharedInstance] isActivationMethodActive: SCREENSHOT]) {
63
+ [Gleap startFeedbackFlow];
64
+ }
65
+ }];
66
+
67
+ NSMutableArray *activationMethods = [[NSMutableArray alloc] init];
46
68
  if ([config objectForKey: @"activationMethodShake"] != nil && [[config objectForKey: @"activationMethodShake"] boolValue] == YES) {
47
- [[NSNotificationCenter defaultCenter] addObserver: self
48
- selector: @selector(motionEnded:)
49
- name: RCTShowDevMenuNotification
50
- object: nil];
51
-
52
- #if !RCT_DEV
53
- RCTSwapInstanceMethods([UIWindow class], @selector(motionEnded:withEvent:), @selector(handleShakeEvent:withEvent:));
54
- #endif
69
+ [activationMethods addObject: @(SHAKE)];
55
70
  }
56
71
  if ([config objectForKey: @"activationMethodScreenshotGesture"] != nil && [[config objectForKey: @"activationMethodScreenshotGesture"] boolValue] == YES) {
57
- NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
58
- [[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationUserDidTakeScreenshotNotification
59
- object:nil
60
- queue:mainQueue
61
- usingBlock:^(NSNotification *note) {
62
- [Gleap startFeedbackFlow];
63
- }];
64
- }
65
- if ([config objectForKey: @"activationMethodThreeFingerDoubleTab"] != nil && [[config objectForKey: @"activationMethodThreeFingerDoubleTab"] boolValue] == YES) {
66
- [self initializeGestureRecognizer];
72
+ [activationMethods addObject: @(SCREENSHOT)];
67
73
  }
68
74
 
75
+ [[Gleap sharedInstance] setActivationMethods: activationMethods];
76
+
69
77
  if (_hasListeners) {
70
78
  [self sendEventWithName:@"configLoaded" body: config];
71
79
  }
72
80
  }
73
81
 
74
- - (void)initializeGestureRecognizer {
75
- tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: self action: @selector(handleTapGestureActivation:)];
76
- tapGestureRecognizer.numberOfTapsRequired = 2;
77
- tapGestureRecognizer.numberOfTouchesRequired = 3;
78
- tapGestureRecognizer.cancelsTouchesInView = false;
79
-
80
- [[[[UIApplication sharedApplication] delegate] window] addGestureRecognizer: tapGestureRecognizer];
81
- }
82
-
83
- - (void)handleTapGestureActivation: (UITapGestureRecognizer *)recognizer
84
- {
85
- [Gleap startFeedbackFlow];
86
- }
87
-
88
82
  - (void)motionEnded:(NSNotification *)notification
89
83
  {
90
- [Gleap startFeedbackFlow];
84
+ if ([[Gleap sharedInstance] isActivationMethodActive: SHAKE]) {
85
+ [Gleap startFeedbackFlow];
86
+ }
91
87
  }
92
88
 
93
89
  - (void)feedbackWillBeSent {
@@ -151,6 +147,24 @@ RCT_EXPORT_METHOD(attachNetworkLog:(NSArray *)networkLogs)
151
147
  });
152
148
  }
153
149
 
150
+
151
+ RCT_EXPORT_METHOD(setActivationMethods:(NSArray *)activationMethods)
152
+ {
153
+ dispatch_async(dispatch_get_main_queue(), ^{
154
+ NSMutableArray *internalActivationMethods = [[NSMutableArray alloc] init];
155
+ for (int i = 0; i < activationMethods.count; i++) {
156
+ if ([[activationMethods objectAtIndex: i] isEqualToString: @"SHAKE"]) {
157
+ [internalActivationMethods addObject: @(SHAKE)];
158
+ }
159
+ if ([[activationMethods objectAtIndex: i] isEqualToString: @"SCREENSHOT"]) {
160
+ [internalActivationMethods addObject: @(SCREENSHOT)];
161
+ }
162
+ }
163
+
164
+ [Gleap setActivationMethods: internalActivationMethods];
165
+ });
166
+ }
167
+
154
168
  RCT_EXPORT_METHOD(startFeedbackFlow:(NSString *)feedbackFlow)
155
169
  {
156
170
  dispatch_async(dispatch_get_main_queue(), ^{
@@ -272,9 +286,9 @@ RCT_EXPORT_METHOD(addAttachment:(NSString *)base64file withFileName:(NSString *)
272
286
 
273
287
  - (void)dealloc
274
288
  {
275
- if (tapGestureRecognizer != nil) {
276
- [[[[UIApplication sharedApplication] delegate] window] removeGestureRecognizer: tapGestureRecognizer];
277
- }
289
+ @try{
290
+ [[NSNotificationCenter defaultCenter] removeObserver: self];
291
+ } @catch(id anException) {}
278
292
  }
279
293
 
280
294
  @end
@@ -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","start","stopNetworkLogging","setStopped","callbacks","registerCustomAction","customActionCallback","push","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","JSON","parse","enableNetworkLogs","exp","requests","getRequests","OS","attachNetworkLog","stringify","isJsonString","str","e","data","name","length","i","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};\n\ntype GleapSdkType = {\n initialize(token: string): void;\n open(): void;\n startFeedbackFlow(feedbackFlow: string): void;\n sendSilentBugReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n identify(userId: string, userProperties: GleapUserProperty): void;\n clearIdentity(): void;\n setApiUrl(apiUrl: string): void;\n setWidgetUrl(widgetUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n setLanguage(language: string): void;\n logEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n enableDebugConsoleLog(): void;\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 GleapSdk.startNetworkLogging = () => {\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n var callbacks: any[] = [];\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n callbacks.push(customActionCallback);\n };\n\n const gleapEmitter = new NativeEventEmitter(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 } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackWillBeSent', () => {\n // Push the network log to the native SDK.\n const requests = networkLogger.getRequests();\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 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 && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i]) {\n callbacks[i]({\n name,\n });\n }\n }\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["LINKING_ERROR","Platform","select","ios","default","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","start","stopNetworkLogging","setStopped","callbacks","registerCustomAction","customActionCallback","push","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","JSON","parse","enableNetworkLogs","exp","requests","getRequests","OS","attachNetworkLog","stringify","isJsonString","str","e","data","name","length","i","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n open(): void;\n startFeedbackFlow(feedbackFlow: string): void;\n sendSilentBugReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n identify(userId: string, userProperties: GleapUserProperty): void;\n clearIdentity(): void;\n setApiUrl(apiUrl: string): void;\n setWidgetUrl(widgetUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n setLanguage(language: string): void;\n logEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n enableDebugConsoleLog(): void;\n setActivationMethods(activationMethods: GleapActivationMethod[]): void;\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 GleapSdk.startNetworkLogging = () => {\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n var callbacks: any[] = [];\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n callbacks.push(customActionCallback);\n };\n\n const gleapEmitter = new NativeEventEmitter(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 } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackWillBeSent', () => {\n // Push the network log to the native SDK.\n const requests = networkLogger.getRequests();\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 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 && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i]) {\n callbacks[i]({\n name,\n });\n }\n }\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","start","stopNetworkLogging","setStopped","callbacks","registerCustomAction","customActionCallback","push","gleapEmitter","addListener","config","configJSON","Object","JSON","parse","enableNetworkLogs","exp","requests","getRequests","OS","attachNetworkLog","stringify","isJsonString","str","e","data","name","length","i","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};\n\ntype GleapSdkType = {\n initialize(token: string): void;\n open(): void;\n startFeedbackFlow(feedbackFlow: string): void;\n sendSilentBugReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n identify(userId: string, userProperties: GleapUserProperty): void;\n clearIdentity(): void;\n setApiUrl(apiUrl: string): void;\n setWidgetUrl(widgetUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n setLanguage(language: string): void;\n logEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n enableDebugConsoleLog(): void;\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 GleapSdk.startNetworkLogging = () => {\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n var callbacks: any[] = [];\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n callbacks.push(customActionCallback);\n };\n\n const gleapEmitter = new NativeEventEmitter(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 } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackWillBeSent', () => {\n // Push the network log to the native SDK.\n const requests = networkLogger.getRequests();\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 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 && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i]) {\n callbacks[i]({\n name,\n });\n }\n }\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","start","stopNetworkLogging","setStopped","callbacks","registerCustomAction","customActionCallback","push","gleapEmitter","addListener","config","configJSON","Object","JSON","parse","enableNetworkLogs","exp","requests","getRequests","OS","attachNetworkLog","stringify","isJsonString","str","e","data","name","length","i","removeAllAttachments"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,kBAAxB,EAA4CC,QAA5C,QAA4D,cAA5D;AACA,OAAOC,uBAAP,MAAoC,iBAApC;AAEA,MAAMC,aAAa,GAChB,gFAAD,GACAF,QAAQ,CAACG,MAAT,CAAgB;AAAEC,EAAAA,GAAG,EAAE,gCAAP;AAAyCC,EAAAA,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AA0CA,MAAMC,QAAQ,GAAGR,aAAa,CAACS,QAAd,GACbT,aAAa,CAACS,QADD,GAEb,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;;AAWA,IAAII,QAAQ,IAAI,CAACA,QAAQ,CAACK,OAA1B,EAAmC;AACjC,QAAMC,aAAa,GAAG,IAAIX,uBAAJ,EAAtB;;AAEAK,EAAAA,QAAQ,CAACO,mBAAT,GAA+B,MAAM;AACnCD,IAAAA,aAAa,CAACE,KAAd;AACD,GAFD;;AAIAR,EAAAA,QAAQ,CAACS,kBAAT,GAA8B,MAAM;AAClCH,IAAAA,aAAa,CAACI,UAAd,CAAyB,IAAzB;AACD,GAFD;;AAIA,MAAIC,SAAgB,GAAG,EAAvB;;AAEAX,EAAAA,QAAQ,CAACY,oBAAT,GAAiCC,oBAAD,IAA+B;AAC7DF,IAAAA,SAAS,CAACG,IAAV,CAAeD,oBAAf;AACD,GAFD;;AAIA,QAAME,YAAY,GAAG,IAAItB,kBAAJ,CAAuBO,QAAvB,CAArB;AAEAe,EAAAA,YAAY,CAACC,WAAb,CAAyB,cAAzB,EAA0CC,MAAD,IAAiB;AACxD,QAAI;AACF,YAAMC,UAAU,GAAGD,MAAM,YAAYE,MAAlB,GAA2BF,MAA3B,GAAoCG,IAAI,CAACC,KAAL,CAAWJ,MAAX,CAAvD;;AACA,UAAIC,UAAU,CAACI,iBAAf,EAAkC;AAChCtB,QAAAA,QAAQ,CAACO,mBAAT;AACD;AACF,KALD,CAKE,OAAOgB,GAAP,EAAY,CAAE;AACjB,GAPD;AASAR,EAAAA,YAAY,CAACC,WAAb,CAAyB,oBAAzB,EAA+C,MAAM;AACnD;AACA,UAAMQ,QAAQ,GAAGlB,aAAa,CAACmB,WAAd,EAAjB;;AACA,QAAI/B,QAAQ,CAACgC,EAAT,KAAgB,SAApB,EAA+B;AAC7B1B,MAAAA,QAAQ,CAAC2B,gBAAT,CAA0BP,IAAI,CAACQ,SAAL,CAAeJ,QAAf,CAA1B;AACD,KAFD,MAEO;AACLxB,MAAAA,QAAQ,CAAC2B,gBAAT,CAA0BP,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACQ,SAAL,CAAeJ,QAAf,CAAX,CAA1B;AACD;AACF,GARD;;AAUA,WAASK,YAAT,CAAsBC,GAAtB,EAAmC;AACjC,QAAI;AACFV,MAAAA,IAAI,CAACC,KAAL,CAAWS,GAAX;AACD,KAFD,CAEE,OAAOC,CAAP,EAAU;AACV,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD;;AAEDhB,EAAAA,YAAY,CAACC,WAAb,CAAyB,uBAAzB,EAAmDgB,IAAD,IAAe;AAC/D,QAAI;AACF,UAAIH,YAAY,CAACG,IAAD,CAAhB,EAAwB;AACtBA,QAAAA,IAAI,GAAGZ,IAAI,CAACC,KAAL,CAAWW,IAAX,CAAP;AACD;;AACD,YAAM;AAAEC,QAAAA;AAAF,UAAWD,IAAjB;;AACA,UAAIC,IAAI,IAAItB,SAAS,CAACuB,MAAV,GAAmB,CAA/B,EAAkC;AAChC,aAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGxB,SAAS,CAACuB,MAA9B,EAAsCC,CAAC,EAAvC,EAA2C;AACzC,cAAIxB,SAAS,CAACwB,CAAD,CAAb,EAAkB;AAChBxB,YAAAA,SAAS,CAACwB,CAAD,CAAT,CAAa;AACXF,cAAAA;AADW,aAAb;AAGD;AACF;AACF;AACF,KAdD,CAcE,OAAOV,GAAP,EAAY,CAAE;AACjB,GAhBD;AAkBAvB,EAAAA,QAAQ,CAACoC,oBAAT;AAEApC,EAAAA,QAAQ,CAACK,OAAT,GAAmB,IAAnB;AACD;;AAED,eAAeL,QAAf","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};\n\ntype GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';\n\ntype GleapSdkType = {\n initialize(token: string): void;\n open(): void;\n startFeedbackFlow(feedbackFlow: string): void;\n sendSilentBugReport(\n description: string,\n severity: 'LOW' | 'MEDIUM' | 'HIGH'\n ): void;\n identify(userId: string, userProperties: GleapUserProperty): void;\n clearIdentity(): void;\n setApiUrl(apiUrl: string): void;\n setWidgetUrl(widgetUrl: string): void;\n attachCustomData(customData: any): void;\n setCustomData(key: string, value: string): void;\n removeCustomDataForKey(key: string): void;\n clearCustomData(): void;\n registerCustomAction(\n customActionCallback: (data: { name: string }) => void\n ): void;\n setLanguage(language: string): void;\n logEvent(name: string, data: any): void;\n addAttachment(base64file: string, fileName: string): void;\n removeAllAttachments(): void;\n startNetworkLogging(): void;\n stopNetworkLogging(): void;\n enableDebugConsoleLog(): void;\n setActivationMethods(activationMethods: GleapActivationMethod[]): void;\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 GleapSdk.startNetworkLogging = () => {\n networkLogger.start();\n };\n\n GleapSdk.stopNetworkLogging = () => {\n networkLogger.setStopped(true);\n };\n\n var callbacks: any[] = [];\n\n GleapSdk.registerCustomAction = (customActionCallback: any) => {\n callbacks.push(customActionCallback);\n };\n\n const gleapEmitter = new NativeEventEmitter(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 } catch (exp) {}\n });\n\n gleapEmitter.addListener('feedbackWillBeSent', () => {\n // Push the network log to the native SDK.\n const requests = networkLogger.getRequests();\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 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 && callbacks.length > 0) {\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i]) {\n callbacks[i]({\n name,\n });\n }\n }\n }\n } catch (exp) {}\n });\n\n GleapSdk.removeAllAttachments();\n\n GleapSdk.touched = true;\n}\n\nexport default GleapSdk as GleapSdkType;\n"]}
@@ -2,6 +2,7 @@ export declare type GleapUserProperty = {
2
2
  email?: string;
3
3
  name?: string;
4
4
  };
5
+ declare type GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';
5
6
  declare type GleapSdkType = {
6
7
  initialize(token: string): void;
7
8
  open(): void;
@@ -25,6 +26,7 @@ declare type GleapSdkType = {
25
26
  startNetworkLogging(): void;
26
27
  stopNetworkLogging(): void;
27
28
  enableDebugConsoleLog(): void;
29
+ setActivationMethods(activationMethods: GleapActivationMethod[]): void;
28
30
  };
29
31
  declare const _default: GleapSdkType;
30
32
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gleapsdk",
3
- "version": "6.4.1",
3
+ "version": "6.4.2",
4
4
  "description": "Know exactly why and how a bug happened. Get reports with screenshots, live action replays and all of the important metadata every time.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "Gleap", "6.4.1"
19
+ s.dependency "Gleap", "6.4.2"
20
20
  end
package/src/index.tsx CHANGED
@@ -12,6 +12,8 @@ export type GleapUserProperty = {
12
12
  name?: string;
13
13
  };
14
14
 
15
+ type GleapActivationMethod = 'SHAKE' | 'SCREENSHOT';
16
+
15
17
  type GleapSdkType = {
16
18
  initialize(token: string): void;
17
19
  open(): void;
@@ -38,6 +40,7 @@ type GleapSdkType = {
38
40
  startNetworkLogging(): void;
39
41
  stopNetworkLogging(): void;
40
42
  enableDebugConsoleLog(): void;
43
+ setActivationMethods(activationMethods: GleapActivationMethod[]): void;
41
44
  };
42
45
 
43
46
  const GleapSdk = NativeModules.Gleapsdk