react-native-gleapsdk 8.0.5 → 8.1.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/build.gradle +1 -1
- package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +55 -0
- package/ios/Gleapsdk.m +16 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/package.json +1 -1
- package/react-native-gleapsdk.podspec +1 -1
- package/src/index.tsx +2 -0
package/android/build.gradle
CHANGED
|
@@ -53,7 +53,7 @@ repositories {
|
|
|
53
53
|
|
|
54
54
|
dependencies {
|
|
55
55
|
implementation "com.facebook.react:react-native:+"
|
|
56
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '8.0
|
|
56
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '8.1.0'
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
if(rootProject && rootProject.ext) {
|
|
@@ -14,6 +14,9 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
|
14
14
|
import com.facebook.react.bridge.ReactMethod;
|
|
15
15
|
import com.facebook.react.bridge.ReadableArray;
|
|
16
16
|
import com.facebook.react.bridge.ReadableMap;
|
|
17
|
+
import com.facebook.react.bridge.WritableMap;
|
|
18
|
+
import com.facebook.react.bridge.WritableNativeMap;
|
|
19
|
+
import com.facebook.react.bridge.Promise;
|
|
17
20
|
import com.facebook.react.module.annotations.ReactModule;
|
|
18
21
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
19
22
|
|
|
@@ -36,6 +39,7 @@ import io.gleap.Gleap;
|
|
|
36
39
|
import io.gleap.GleapActivationMethod;
|
|
37
40
|
import io.gleap.GleapLogLevel;
|
|
38
41
|
import io.gleap.GleapUserProperties;
|
|
42
|
+
import io.gleap.GleapUser;
|
|
39
43
|
import io.gleap.Networklog;
|
|
40
44
|
import io.gleap.PrefillHelper;
|
|
41
45
|
import io.gleap.RequestType;
|
|
@@ -261,6 +265,57 @@ public class GleapsdkModule extends ReactContextBaseJavaModule implements Lifecy
|
|
|
261
265
|
}
|
|
262
266
|
}
|
|
263
267
|
|
|
268
|
+
@ReactMethod
|
|
269
|
+
public void isUserIdentified(final Promise promise) {
|
|
270
|
+
try {
|
|
271
|
+
getActivitySafe().runOnUiThread(
|
|
272
|
+
new Runnable() {
|
|
273
|
+
@Override
|
|
274
|
+
public void run() {
|
|
275
|
+
try {
|
|
276
|
+
promise.resolve(Gleap.getInstance().isUserIdentified());
|
|
277
|
+
}catch (Exception ex) {}
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
} catch (NoUiThreadException e) {
|
|
281
|
+
System.err.println(e.getMessage());
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
@ReactMethod
|
|
286
|
+
public void getIdentity(final Promise promise) {
|
|
287
|
+
try {
|
|
288
|
+
getActivitySafe().runOnUiThread(
|
|
289
|
+
new Runnable() {
|
|
290
|
+
@Override
|
|
291
|
+
public void run() {
|
|
292
|
+
try {
|
|
293
|
+
GleapUser gleapUser = Gleap.getInstance().getIdentity();
|
|
294
|
+
if (gleapUser != null) {
|
|
295
|
+
GleapUserProperties userProps = gleapUser.getGleapUserProperties();
|
|
296
|
+
|
|
297
|
+
WritableMap map = new WritableNativeMap();
|
|
298
|
+
|
|
299
|
+
if (userProps != null) {
|
|
300
|
+
map.putString("userId", gleapUser.getUserId());
|
|
301
|
+
map.putString("phone", userProps.getPhoneNumber());
|
|
302
|
+
map.putString("email", userProps.getEmail());
|
|
303
|
+
map.putString("name", userProps.getName());
|
|
304
|
+
map.putDouble("value", userProps.getValue());
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
promise.resolve(map);
|
|
308
|
+
} else {
|
|
309
|
+
promise.resolve(null);
|
|
310
|
+
}
|
|
311
|
+
}catch (Exception ex) {}
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
} catch (NoUiThreadException e) {
|
|
315
|
+
System.err.println(e.getMessage());
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
264
319
|
@ReactMethod
|
|
265
320
|
public void close() {
|
|
266
321
|
try {
|
package/ios/Gleapsdk.m
CHANGED
|
@@ -279,6 +279,22 @@ RCT_EXPORT_METHOD(clearIdentity)
|
|
|
279
279
|
});
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
+
RCT_EXPORT_METHOD(getIdentity:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
283
|
+
{
|
|
284
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
285
|
+
NSDictionary * userIdentity = [Gleap getIdentity];
|
|
286
|
+
resolve(userIdentity);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
RCT_EXPORT_METHOD(isUserIdentified:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
291
|
+
{
|
|
292
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
293
|
+
BOOL isUserIdentified = [Gleap isUserIdentified];
|
|
294
|
+
resolve(@(isUserIdentified));
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
|
|
282
298
|
RCT_EXPORT_METHOD(identifyWithUserHash:(NSString *)userId withUserProperties: (NSDictionary *)userProperties andUserHash:(NSString *)userHash)
|
|
283
299
|
{
|
|
284
300
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
@@ -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","isJsonString","str","e","removeAllAttachments"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,MAAMA,aAAa,GAChB,gFAAD,GACAC,sBAASC,MAAT,CAAgB;AAAEC,EAAAA,GAAG,EAAE,gCAAP;AAAyCC,EAAAA,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AA6EA,MAAMC,QAAQ,GAAGC,2BAAcC,QAAd,GACbD,2BAAcC,QADD,GAEb,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;;AAWA,IAAIK,QAAQ,IAAI,CAACA,QAAQ,CAACM,OAA1B,EAAmC;AACjC,QAAMC,aAAa,GAAG,IAAIC,sBAAJ,EAAtB,CADiC,CAGjC;;AACAR,EAAAA,QAAQ,CAACS,mBAAT,GAA+B,MAAM;AACnC;AACAF,IAAAA,aAAa,CAACG,kBAAd,CAAiC,MAAM;AACrC,UAAI,CAACH,aAAL,EAAoB;AAClB;AACD;;AAED,YAAMI,QAAQ,GAAGJ,aAAa,CAACK,WAAd,EAAjB;;AAEA,UACED,QAAQ,IACRX,QADA,IAEA,OAAOA,QAAQ,CAACa,gBAAhB,KAAqC,WAHvC,EAIE;AACA,YAAIjB,sBAASkB,EAAT,KAAgB,SAApB,EAA+B;AAC7Bd,UAAAA,QAAQ,CAACa,gBAAT,CAA0BE,IAAI,CAACC,SAAL,CAAeL,QAAf,CAA1B;AACD,SAFD,MAEO;AACLX,UAAAA,QAAQ,CAACa,gBAAT,CAA0BE,IAAI,CAACE,KAAL,CAAWF,IAAI,CAACC,SAAL,CAAeL,QAAf,CAAX,CAA1B;AACD;AACF;AACF,KAlBD,EAFmC,CAsBnC;;AACAJ,IAAAA,aAAa,CAACW,KAAd;AACD,GAxBD;;AA0BAlB,EAAAA,QAAQ,CAACmB,kBAAT,GAA8B,MAAM;AAClCZ,IAAAA,aAAa,CAACa,UAAd,CAAyB,IAAzB;AACD,GAFD,CA9BiC,CAkCjC;;;AACApB,EAAAA,QAAQ,CAACqB,QAAT,GAAoB,CAACC,IAAD,EAAeC,IAAf,KAA6B;AAC/CC,IAAAA,OAAO,CAACC,GAAR,CAAY,iDAAZ;AACAzB,IAAAA,QAAQ,CAAC0B,UAAT,CAAoBJ,IAApB,EAA0BC,IAA1B;AACD,GAHD;;AAKA,MAAII,SAAc,GAAG,EAArB;;AAEA3B,EAAAA,QAAQ,CAAC4B,gBAAT,GAA4B,CAACC,SAAD,EAAoBC,QAApB,KAAsC;AAChE,QAAI,CAACH,SAAS,CAACE,SAAD,CAAd,EAA2B;AACzBF,MAAAA,SAAS,CAACE,SAAD,CAAT,GAAuB,EAAvB;AACD;;AACDF,IAAAA,SAAS,CAACE,SAAD,CAAT,CAAqBE,IAArB,CAA0BD,QAA1B;AACD,GALD;;AAOA9B,EAAAA,QAAQ,CAACgC,oBAAT,GAAiCC,oBAAD,IAA+B;AAC7DjC,IAAAA,QAAQ,CAAC4B,gBAAT,CAA0B,uBAA1B,EAAmDK,oBAAnD;AACD,GAFD;;AAIA,QAAMC,cAAc,GAAG,UAAUL,SAAV,EAA6BN,IAA7B,EAAyC;AAC9D,QAAII,SAAS,IAAIA,SAAS,CAACE,SAAD,CAAtB,IAAqCF,SAAS,CAACE,SAAD,CAAT,CAAqBM,MAArB,GAA8B,CAAvE,EAA0E;AACxE,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,SAAS,CAACE,SAAD,CAAT,CAAqBM,MAAzC,EAAiDC,CAAC,EAAlD,EAAsD;AACpD,YAAIT,SAAS,CAACE,SAAD,CAAT,CAAqBO,CAArB,CAAJ,EAA6B;AAC3BT,UAAAA,SAAS,CAACE,SAAD,CAAT,CAAqBO,CAArB,EAAwBb,IAAxB;AACD;AACF;AACF;AACF,GARD;;AAUA,QAAMc,YAAY,GAAG,IAAIC,+BAAJ,CAAuBrC,2BAAcC,QAArC,CAArB;AAEAmC,EAAAA,YAAY,CAACE,WAAb,CAAyB,cAAzB,EAA0CC,MAAD,IAAiB;AACxD,QAAI;AACF,YAAMC,UAAU,GAAGD,MAAM,YAAYE,MAAlB,GAA2BF,MAA3B,GAAoCzB,IAAI,CAACE,KAAL,CAAWuB,MAAX,CAAvD;;AACA,UAAIC,UAAU,CAACE,iBAAf,EAAkC;AAChC3C,QAAAA,QAAQ,CAACS,mBAAT;AACD;;AACDyB,MAAAA,cAAc,CAAC,cAAD,EAAiBO,UAAjB,CAAd;AACD,KAND,CAME,OAAOG,GAAP,EAAY,CAAE;AACjB,GARD;AAUAP,EAAAA,YAAY,CAACE,WAAb,CAAyB,cAAzB,EAA0ChB,IAAD,IAAU;AACjD,QAAI;AACF,YAAMsB,QAAQ,GAAGtB,IAAI,YAAYmB,MAAhB,GAAyBnB,IAAzB,GAAgCR,IAAI,CAACE,KAAL,CAAWM,IAAX,CAAjD;AACAW,MAAAA,cAAc,CAAC,cAAD,EAAiBW,QAAjB,CAAd;AACD,KAHD,CAGE,OAAOD,GAAP,EAAY,CAAE;AACjB,GALD;AAOAP,EAAAA,YAAY,CAACE,WAAb,CAAyB,qBAAzB,EAAiDO,cAAD,IAAoB;AAClEZ,IAAAA,cAAc,CAAC,qBAAD,EAAwBY,cAAxB,CAAd;AACD,GAFD;AAIAT,EAAAA,YAAY,CAACE,WAAb,CAAyB,uBAAzB,EAAkD,MAAM;AACtDL,IAAAA,cAAc,CAAC,uBAAD,CAAd;AACD,GAFD;AAIAG,EAAAA,YAAY,CAACE,WAAb,CAAyB,cAAzB,EAAyC,MAAM;AAC7CL,IAAAA,cAAc,CAAC,cAAD,CAAd;AACD,GAFD;AAIAG,EAAAA,YAAY,CAACE,WAAb,CAAyB,cAAzB,EAAyC,MAAM;AAC7CL,IAAAA,cAAc,CAAC,cAAD,CAAd;AACD,GAFD;;AAIA,WAASa,YAAT,CAAsBC,GAAtB,EAAmC;AACjC,QAAI;AACFjC,MAAAA,IAAI,CAACE,KAAL,CAAW+B,GAAX;AACD,KAFD,CAEE,OAAOC,CAAP,EAAU;AACV,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD;;AAEDZ,EAAAA,YAAY,CAACE,WAAb,CAAyB,uBAAzB,EAAmDhB,IAAD,IAAe;AAC/D,QAAI;AACF,UAAIwB,YAAY,CAACxB,IAAD,CAAhB,EAAwB;AACtBA,QAAAA,IAAI,GAAGR,IAAI,CAACE,KAAL,CAAWM,IAAX,CAAP;AACD;;AACD,YAAM;AAAED,QAAAA;AAAF,UAAWC,IAAjB;;AACA,UAAID,IAAJ,EAAU;AACRY,QAAAA,cAAc,CAAC,uBAAD,EAA0B;AACtCZ,UAAAA;AADsC,SAA1B,CAAd;AAGD;AACF,KAVD,CAUE,OAAOsB,GAAP,EAAY,CAAE;AACjB,GAZD;AAcA5C,EAAAA,QAAQ,CAACkD,oBAAT;AACAlD,EAAAA,QAAQ,CAACM,OAAT,GAAmB,IAAnB;AACD;;eAEcN,Q","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};\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(): void;\n openFeatureRequests(): void;\n close(): void;\n isOpened(): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): 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};\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 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,"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","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};\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(): void;\n openFeatureRequests(): void;\n close(): void;\n isOpened(): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): 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 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"]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -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","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","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","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};\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(): void;\n openFeatureRequests(): void;\n close(): void;\n isOpened(): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): 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};\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 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,"sources":["index.tsx"],"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","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","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","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};\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(): void;\n openFeatureRequests(): void;\n close(): void;\n isOpened(): 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 registerListener(eventType: string, callback: (data?: any) => void): void;\n setLanguage(language: string): void;\n enableDebugConsoleLog(): void;\n disableConsoleLog(): 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 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"]}
|
|
@@ -53,6 +53,8 @@ declare type GleapSdkType = {
|
|
|
53
53
|
registerCustomAction(customActionCallback: (data: {
|
|
54
54
|
name: string;
|
|
55
55
|
}) => void): void;
|
|
56
|
+
getIdentity(): Promise<any>;
|
|
57
|
+
isUserIdentified(): Promise<boolean>;
|
|
56
58
|
};
|
|
57
59
|
declare const _default: GleapSdkType;
|
|
58
60
|
export default _default;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gleapsdk",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0",
|
|
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",
|
package/src/index.tsx
CHANGED