@appmetrica/react-native-analytics 3.3.0 → 3.4.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.
Files changed (46) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaModule.java +60 -6
  3. package/android/src/main/java/io/appmetrica/analytics/reactnative/AppMetricaPackage.java +1 -0
  4. package/android/src/main/java/io/appmetrica/analytics/reactnative/ExceptionSerializer.java +91 -0
  5. package/android/src/main/java/io/appmetrica/analytics/reactnative/ExternalAttributionSerializer.java +16 -9
  6. package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkListener.java +48 -0
  7. package/android/src/main/java/io/appmetrica/analytics/reactnative/ReactNativeDeferredDeeplinkParametersListener.java +53 -0
  8. package/android/src/main/java/io/appmetrica/analytics/reactnative/ReporterModule.java +130 -0
  9. package/android/src/main/java/io/appmetrica/analytics/reactnative/Utils.java +55 -1
  10. package/appmetrica-react-native-analytics.podspec +1 -1
  11. package/ios/AMARNAppMetrica.m +77 -7
  12. package/ios/AMARNAppMetricaUtils.h +1 -0
  13. package/ios/AMARNAppMetricaUtils.m +46 -0
  14. package/ios/AMARNExceptionSerializer.h +6 -0
  15. package/ios/AMARNExceptionSerializer.m +65 -0
  16. package/ios/AMARNReporter.h +6 -0
  17. package/ios/AMARNReporter.m +131 -0
  18. package/lib/commonjs/deferredDeeplink.js +2 -0
  19. package/lib/commonjs/deferredDeeplink.js.map +1 -0
  20. package/lib/commonjs/error.js +71 -0
  21. package/lib/commonjs/error.js.map +1 -0
  22. package/lib/commonjs/index.js +53 -1
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/reporter.js +69 -0
  25. package/lib/commonjs/reporter.js.map +1 -0
  26. package/lib/module/deferredDeeplink.js +2 -0
  27. package/lib/module/deferredDeeplink.js.map +1 -0
  28. package/lib/module/error.js +63 -0
  29. package/lib/module/error.js.map +1 -0
  30. package/lib/module/index.js +42 -1
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/reporter.js +62 -0
  33. package/lib/module/reporter.js.map +1 -0
  34. package/lib/typescript/src/deferredDeeplink.d.ts +10 -0
  35. package/lib/typescript/src/deferredDeeplink.d.ts.map +1 -0
  36. package/lib/typescript/src/error.d.ts +19 -0
  37. package/lib/typescript/src/error.d.ts.map +1 -0
  38. package/lib/typescript/src/index.d.ts +19 -1
  39. package/lib/typescript/src/index.d.ts.map +1 -1
  40. package/lib/typescript/src/reporter.d.ts +51 -0
  41. package/lib/typescript/src/reporter.d.ts.map +1 -0
  42. package/package.json +3 -1
  43. package/src/deferredDeeplink.ts +11 -0
  44. package/src/error.ts +87 -0
  45. package/src/index.ts +79 -2
  46. package/src/reporter.ts +126 -0
@@ -22,5 +22,6 @@
22
22
  + (AMAAdType)toAdType:(NSString *)type;
23
23
  + (NSDictionary *)convertRevenueInfoPayload:(NSString *)payload;
24
24
  + (AMAUserProfile *)userProfileForDict:(NSDictionary *)userProfileDict;
25
+ + (AMAMutableReporterConfiguration *)reporterConfigurationForDictionary:(NSDictionary *)configDict;
25
26
 
26
27
  @end
@@ -43,6 +43,18 @@
43
43
  if (configDict[@"userProfileID"] != nil) {
44
44
  configuration.userProfileID = configDict[@"userProfileID"];
45
45
  }
46
+ if (configDict[@"appEnvironment"] != nil) {
47
+ NSDictionary *appEnvironmentMap = configDict[@"appEnvironment"];
48
+ for (NSString *key in appEnvironmentMap) {
49
+ [AMAAppMetrica setAppEnvironmentValue:appEnvironmentMap[key] forKey:key];
50
+ }
51
+ }
52
+ if (configDict[@"maxReportsCount"] != nil) {
53
+ configuration.maxReportsCount = [configDict[@"maxReportsCount"] unsignedIntegerValue];
54
+ }
55
+ if (configDict[@"dispatchPeriodSeconds"] != nil) {
56
+ configuration.dispatchPeriod = [configDict[@"dispatchPeriodSeconds"] unsignedIntegerValue];
57
+ }
46
58
 
47
59
  return configuration;
48
60
  }
@@ -379,4 +391,38 @@
379
391
  return amarn_deserializeUserProfile(userProfileDict);
380
392
  }
381
393
 
394
+ + (AMAMutableReporterConfiguration *)reporterConfigurationForDictionary:(NSDictionary *)configDict
395
+ {
396
+ NSString *apiKey = configDict[@"apiKey"];
397
+ AMAMutableReporterConfiguration *configuration = [[AMAMutableReporterConfiguration alloc] initWithAPIKey:apiKey];
398
+ if (configDict[@"logs"] != nil) {
399
+ configuration.logsEnabled = [configDict[@"logs"] boolValue];
400
+ }
401
+ if (configDict[@"maxReportsInDatabaseCount"] != nil) {
402
+ configuration.maxReportsInDatabaseCount = [configDict[@"maxReportsInDatabaseCount"] unsignedIntegerValue];
403
+ }
404
+ if (configDict[@"sessionTimeout"] != nil) {
405
+ configuration.sessionTimeout = [configDict[@"sessionTimeout"] unsignedIntegerValue];
406
+ }
407
+ if (configDict[@"dataSendingEnabled"] != nil) {
408
+ configuration.dataSendingEnabled = [configDict[@"dataSendingEnabled"] boolValue];
409
+ }
410
+ if (configDict[@"appEnvironment"] != nil) {
411
+ NSDictionary *appEnvironmentMap = configDict[@"appEnvironment"];
412
+ for (NSString *key in appEnvironmentMap) {
413
+ [AMAAppMetrica setAppEnvironmentValue:appEnvironmentMap[key] forKey:key];
414
+ }
415
+ }
416
+ if (configDict[@"userProfileID"] != nil) {
417
+ configuration.userProfileID = configDict[@"userProfileID"];
418
+ }
419
+ if (configDict[@"dispatchPeriodSeconds"] != nil) {
420
+ configuration.dispatchPeriod = [configDict[@"dispatchPeriodSeconds"] unsignedIntegerValue];
421
+ }
422
+ if (configDict[@"maxReportsCount"] != nil) {
423
+ configuration.maxReportsCount = [configDict[@"maxReportsCount"] unsignedIntegerValue];
424
+ }
425
+ return configuration;
426
+ }
427
+
382
428
  @end
@@ -0,0 +1,6 @@
1
+
2
+ #import <AppMetricaCrashes/AppMetricaCrashes.h>
3
+
4
+ @class AMARNExceptionSerializer;
5
+
6
+ AMAPluginErrorDetails *amarn_exceptionForDictionary(NSDictionary * configDict);
@@ -0,0 +1,65 @@
1
+
2
+ #import "AMARNExceptionSerializer.h"
3
+
4
+ NSNumber *amarn_parseNumber(NSString *string)
5
+ {
6
+ NSNumberFormatter *format = [[NSNumberFormatter alloc] init];
7
+ format.numberStyle = NSNumberFormatterDecimalStyle;
8
+ NSNumber *myNumber = [format numberFromString:string];
9
+ return myNumber;
10
+ }
11
+
12
+ AMAStackTraceElement *amarn_deserializeTraceItem(NSDictionary *traceDict)
13
+ {
14
+ AMAStackTraceElement *item = [[AMAStackTraceElement alloc] init];
15
+ if (traceDict[@"fileName"] != nil) {
16
+ item.fileName = traceDict[@"fileName"];
17
+ }
18
+ if (traceDict[@"className"] != nil) {
19
+ item.className = traceDict[@"className"];
20
+ }
21
+ if (traceDict[@"methodName"] != nil) {
22
+ item.methodName = traceDict[@"methodName"];
23
+ }
24
+ if (traceDict[@"line"] != nil) {
25
+ item.line = amarn_parseNumber(traceDict[@"line"]);
26
+ }
27
+ if (traceDict[@"column"] != nil) {
28
+ item.column = amarn_parseNumber(traceDict[@"column"]);
29
+ }
30
+ return item;
31
+ }
32
+
33
+ NSArray<AMAStackTraceElement *> *amarn_deserializeStackTrace(NSArray *frames)
34
+ {
35
+ NSMutableArray<AMAStackTraceElement *> *items = [[NSMutableArray alloc] init];
36
+ for (NSDictionary *frameDict in frames) {
37
+ [items addObject:amarn_deserializeTraceItem(frameDict)];
38
+ }
39
+ return items;
40
+ }
41
+
42
+ AMAPluginErrorDetails *amarn_exceptionForDictionary(NSDictionary *configDict)
43
+ {
44
+ if (configDict == nil) {
45
+ return nil;
46
+ }
47
+ AMAPluginErrorDetails *error = [[AMAPluginErrorDetails alloc] init];
48
+ error.platform = kAMAPlatformReactNative;
49
+ if (configDict[@"errorName"] != nil) {
50
+ error.exceptionClass = configDict[@"errorName"];
51
+ }
52
+ if (configDict[@"message"] != nil) {
53
+ error.message = configDict[@"message"];
54
+ }
55
+ if (configDict[@"stackTrace"] != nil) {
56
+ error.backtrace = amarn_deserializeStackTrace(configDict[@"stackTrace"]);
57
+ }
58
+ if (configDict[@"virtualMachineVersion"] != nil) {
59
+ error.virtualMachineVersion = configDict[@"virtualMachineVersion"];
60
+ }
61
+ if (configDict[@"pluginEnvironment"] != nil) {
62
+ error.pluginEnvironment = configDict[@"pluginEnvironment"];
63
+ }
64
+ return error;
65
+ }
@@ -0,0 +1,6 @@
1
+
2
+ #import <React/RCTBridgeModule.h>
3
+
4
+ @interface AMARNReporter : NSObject <RCTBridgeModule>
5
+
6
+ @end
@@ -0,0 +1,131 @@
1
+
2
+ #import "AMARNReporter.h"
3
+ #import "AMARNAppMetricaUtils.h"
4
+ #import <AppMetricaCore/AppMetricaCore.h>
5
+ #import <AppMetricaCrashes/AppMetricaCrashes.h>
6
+ #import "AMARNUserProfileSerializer.h"
7
+ #import "AMARNExceptionSerializer.h"
8
+
9
+ @implementation AMARNReporter
10
+
11
+ RCT_EXPORT_MODULE(AppMetricaReporter)
12
+
13
+ RCT_EXPORT_METHOD(reportError:(NSString *)apiKey:(NSString *)identifier:(NSString *)message:(NSDictionary *)_reason)
14
+ {
15
+ id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
16
+ [[reporter pluginExtension] reportErrorWithIdentifier:identifier
17
+ message:message
18
+ details:amarn_exceptionForDictionary(_reason)
19
+ onFailure:^(NSError *error) {
20
+ NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
21
+ }];
22
+ }
23
+
24
+ RCT_EXPORT_METHOD(reportErrorWithoutIdentifier:(NSString *)apiKey:(NSString *)message:(NSDictionary *)error)
25
+ {
26
+ id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
27
+ AMAPluginErrorDetails *details = amarn_exceptionForDictionary(error);
28
+ if (details.backtrace.count == 0) {
29
+ [[reporter pluginExtension] reportErrorWithIdentifier:@"Errors without stacktrace"
30
+ message:message
31
+ details:details
32
+ onFailure:^(NSError *error) {
33
+ NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
34
+ }];
35
+ } else {
36
+ [[reporter pluginExtension] reportError:details message:message onFailure:^(NSError *error) {
37
+ NSLog(@"Failed to report error to AppMetrica: %@", [error localizedDescription]);
38
+ }];
39
+ }
40
+ }
41
+
42
+ RCT_EXPORT_METHOD(reportUnhandledException:(NSString *)apiKey:(NSDictionary *)error)
43
+ {
44
+ id<AMAAppMetricaCrashReporting> reporter = [[AMAAppMetricaCrashes crashes] reporterForAPIKey:apiKey];
45
+ [[reporter pluginExtension] reportUnhandledException:amarn_exceptionForDictionary(error)
46
+ onFailure:^(NSError *error) {
47
+ NSLog(@"Failed to report unhandled exception to AppMetrica: %@", [error localizedDescription]);
48
+ }];
49
+ }
50
+
51
+ RCT_EXPORT_METHOD(reportEvent:(NSString *)apiKey:(NSString *)eventName:(NSDictionary *)attributes)
52
+ {
53
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
54
+ if (attributes == nil) {
55
+ [reporter reportEvent:eventName onFailure:^(NSError *error) {
56
+ NSLog(@"error: %@", [error localizedDescription]);
57
+ }];
58
+ } else {
59
+ [reporter reportEvent:eventName parameters:attributes onFailure:^(NSError *error) {
60
+ NSLog(@"error: %@", [error localizedDescription]);
61
+ }];
62
+ }
63
+ }
64
+
65
+ RCT_EXPORT_METHOD(pauseSession:(NSString *)apiKey)
66
+ {
67
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
68
+ [reporter pauseSession];
69
+ }
70
+
71
+ RCT_EXPORT_METHOD(resumeSession:(NSString *)apiKey)
72
+ {
73
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
74
+ [reporter resumeSession];
75
+ }
76
+
77
+ RCT_EXPORT_METHOD(sendEventsBuffer:(NSString *)apiKey)
78
+ {
79
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
80
+ [reporter sendEventsBuffer];
81
+ }
82
+
83
+ RCT_EXPORT_METHOD(putAppEnvironmentValue:(NSString *)apiKey:(NSString *)key:(NSString *)value)
84
+ {
85
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
86
+ [reporter setAppEnvironmentValue:value forKey:key];
87
+ }
88
+
89
+ RCT_EXPORT_METHOD(clearAppEnvironment:(NSString *)apiKey)
90
+ {
91
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
92
+ [reporter clearAppEnvironment];
93
+ }
94
+
95
+ RCT_EXPORT_METHOD(setUserProfileID:(NSString *)apiKey:(NSString *)userProfileID)
96
+ {
97
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
98
+ [reporter setUserProfileID:userProfileID];
99
+ }
100
+
101
+ RCT_EXPORT_METHOD(setDataSendingEnabled:(NSString *)apiKey:(BOOL)enabled)
102
+ {
103
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
104
+ [reporter setDataSendingEnabled:enabled];
105
+ }
106
+
107
+ RCT_EXPORT_METHOD(reportUserProfile:(NSString *)apiKey:(NSDictionary *)userProfileDict)
108
+ {
109
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
110
+ [reporter reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:userProfileDict] onFailure:nil];
111
+ }
112
+
113
+ RCT_EXPORT_METHOD(reportRevenue:(NSString *)apiKey:(NSDictionary *)revenueDict)
114
+ {
115
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
116
+ [reporter reportRevenue:[AMARNAppMetricaUtils revenueForDict:revenueDict] onFailure:nil];
117
+ }
118
+
119
+ RCT_EXPORT_METHOD(reportAdRevenue:(NSString *)apiKey:(NSDictionary *)revenueDict)
120
+ {
121
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
122
+ [reporter reportAdRevenue:[AMARNAppMetricaUtils adRevenueForDict:revenueDict] onFailure:nil];
123
+ }
124
+
125
+ RCT_EXPORT_METHOD(reportECommerce:(NSString *)apiKey:(NSDictionary *)ecommerceDict)
126
+ {
127
+ id<AMAAppMetricaReporting> reporter = [AMAAppMetrica reporterForAPIKey:apiKey];
128
+ [reporter reportECommerce:[AMARNAppMetricaUtils ecommerceForDict:ecommerceDict] onFailure:nil];
129
+ }
130
+
131
+ @end
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=deferredDeeplink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppMetricaError = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const traceRegex = /^\s*at (.*?) ?\((.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
11
+ function parseTraceLine(line) {
12
+ const parts = traceRegex.exec(line);
13
+ if (parts === null) {
14
+ return undefined;
15
+ }
16
+ return {
17
+ fileName: parts[2],
18
+ methodName: parts[1],
19
+ column: parts[3],
20
+ line: parts[4]
21
+ };
22
+ }
23
+ function getRNVersion() {
24
+ const versions = _reactNative.Platform.constants.reactNativeVersion;
25
+ return versions.major + '.' + versions.minor + '.' + versions.patch;
26
+ }
27
+ function getReactVersion() {
28
+ return _react.default.version;
29
+ }
30
+ function getPluginEnvironment() {
31
+ return {
32
+ reactVersion: getReactVersion()
33
+ };
34
+ }
35
+ function parseStackTrace(stackTrace) {
36
+ if (stackTrace === undefined) {
37
+ return undefined;
38
+ }
39
+ try {
40
+ const lines = stackTrace.split('\n');
41
+ const array = [];
42
+ lines === null || lines === void 0 || lines.forEach(line => {
43
+ const item = parseTraceLine(line);
44
+ if (item !== undefined) {
45
+ array.push(item);
46
+ }
47
+ });
48
+ return array;
49
+ } catch (e) {
50
+ console.log(e);
51
+ return undefined;
52
+ }
53
+ }
54
+ class AppMetricaError {
55
+ constructor(errorName, message) {
56
+ this.errorName = errorName;
57
+ this.message = message;
58
+ this.pluginEnvironment = getPluginEnvironment();
59
+ this.virtualMachineVersion = getRNVersion();
60
+ }
61
+ static withError(error) {
62
+ const newError = new AppMetricaError(error.name, error.message);
63
+ newError.stackTrace = parseStackTrace(error.stack);
64
+ return newError;
65
+ }
66
+ static withObject(error) {
67
+ return new AppMetricaError(undefined, JSON.stringify(error));
68
+ }
69
+ }
70
+ exports.AppMetricaError = AppMetricaError;
71
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","e","__esModule","default","traceRegex","parseTraceLine","line","parts","exec","undefined","fileName","methodName","column","getRNVersion","versions","Platform","constants","reactNativeVersion","major","minor","patch","getReactVersion","React","version","getPluginEnvironment","reactVersion","parseStackTrace","stackTrace","lines","split","array","forEach","item","push","console","log","AppMetricaError","constructor","errorName","message","pluginEnvironment","virtualMachineVersion","withError","error","newError","name","stack","withObject","JSON","stringify","exports"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1B,MAAMG,UAAU,GAAG,qDAAqD;AAExE,SAASC,cAAcA,CAACC,IAAY,EAA8B;EAChE,MAAMC,KAAK,GAAGH,UAAU,CAACI,IAAI,CAACF,IAAI,CAAC;EACnC,IAAIC,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOE,SAAS;EAClB;EACA,OAAO;IACLC,QAAQ,EAAEH,KAAK,CAAC,CAAC,CAAC;IAClBI,UAAU,EAAEJ,KAAK,CAAC,CAAC,CAAC;IACpBK,MAAM,EAAEL,KAAK,CAAC,CAAC,CAAC;IAChBD,IAAI,EAAEC,KAAK,CAAC,CAAC;EACf,CAAC;AACH;AAEA,SAASM,YAAYA,CAAA,EAAW;EAC9B,MAAMC,QAAQ,GAAGC,qBAAQ,CAACC,SAAS,CAACC,kBAAkB;EACtD,OAAOH,QAAQ,CAACI,KAAK,GAAG,GAAG,GAAGJ,QAAQ,CAACK,KAAK,GAAG,GAAG,GAAGL,QAAQ,CAACM,KAAK;AACrE;AAEA,SAASC,eAAeA,CAAA,EAAW;EACjC,OAAOC,cAAK,CAACC,OAAO;AACtB;AAEA,SAASC,oBAAoBA,CAAA,EAAuC;EAClE,OAAO;IACLC,YAAY,EAAEJ,eAAe,CAAC;EAChC,CAAC;AACH;AAEA,SAASK,eAAeA,CACtBC,UAAmB,EACgB;EACnC,IAAIA,UAAU,KAAKlB,SAAS,EAAE;IAC5B,OAAOA,SAAS;EAClB;EACA,IAAI;IACF,MAAMmB,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,IAAI,CAAC;IACpC,MAAMC,KAA4B,GAAG,EAAE;IACvCF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,OAAO,CAAEzB,IAAY,IAAK;MAC/B,MAAM0B,IAAI,GAAG3B,cAAc,CAACC,IAAI,CAAC;MACjC,IAAI0B,IAAI,KAAKvB,SAAS,EAAE;QACtBqB,KAAK,CAACG,IAAI,CAACD,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACF,OAAOF,KAAK;EACd,CAAC,CAAC,OAAM7B,CAAC,EAAE;IACTiC,OAAO,CAACC,GAAG,CAAClC,CAAC,CAAC;IACd,OAAOQ,SAAS;EAClB;AACF;AAUO,MAAM2B,eAAe,CAAC;EAO3BC,WAAWA,CAACC,SAAkB,EAAEC,OAAgB,EAAE;IAChD,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,iBAAiB,GAAGhB,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAACiB,qBAAqB,GAAG5B,YAAY,CAAC,CAAC;EAC7C;EAEA,OAAO6B,SAASA,CAACC,KAAY,EAAmB;IAC9C,MAAMC,QAAQ,GAAG,IAAIR,eAAe,CAACO,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACJ,OAAO,CAAC;IAC/DK,QAAQ,CAACjB,UAAU,GAAGD,eAAe,CAACiB,KAAK,CAACG,KAAK,CAAC;IAClD,OAAOF,QAAQ;EACjB;EAEA,OAAOG,UAAUA,CAACJ,KAAc,EAAmB;IACjD,OAAO,IAAIP,eAAe,CAAC3B,SAAS,EAAEuC,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAAC;EAC9D;AACF;AAACO,OAAA,CAAAd,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -11,6 +11,8 @@ var _exportNames = {
11
11
  exports.default = exports.UUID_KEY = exports.DEVICE_ID_KEY = exports.DEVICE_ID_HASH_KEY = void 0;
12
12
  var _reactNative = require("react-native");
13
13
  var _utils = require("./utils");
14
+ var _error = require("./error");
15
+ var _reporter = require("./reporter");
14
16
  var _ecommerce = require("./ecommerce");
15
17
  Object.keys(_ecommerce).forEach(function (key) {
16
18
  if (key === "default" || key === "__esModule") return;
@@ -59,6 +61,18 @@ Object.keys(_externalAttribution).forEach(function (key) {
59
61
  }
60
62
  });
61
63
  });
64
+ var _deferredDeeplink = require("./deferredDeeplink");
65
+ Object.keys(_deferredDeeplink).forEach(function (key) {
66
+ if (key === "default" || key === "__esModule") return;
67
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
68
+ if (key in exports && exports[key] === _deferredDeeplink[key]) return;
69
+ Object.defineProperty(exports, key, {
70
+ enumerable: true,
71
+ get: function () {
72
+ return _deferredDeeplink[key];
73
+ }
74
+ });
75
+ });
62
76
  const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
63
77
  ios: "- You have run 'pod install'\n",
64
78
  default: ''
@@ -86,6 +100,7 @@ const DEVICE_ID_HASH_KEY = exports.DEVICE_ID_HASH_KEY = 'appmetrica_device_id_ha
86
100
  const DEVICE_ID_KEY = exports.DEVICE_ID_KEY = 'appmetrica_device_id';
87
101
  const UUID_KEY = exports.UUID_KEY = 'appmetrica_uuid';
88
102
  class AppMetrica {
103
+ static reporters = new Map();
89
104
  static activate(config) {
90
105
  if (!activated) {
91
106
  AppMetricaNative.activate(config);
@@ -110,7 +125,13 @@ class AppMetrica {
110
125
  AppMetricaNative.reportAppOpen(deeplink);
111
126
  }
112
127
  static reportError(identifier, message, _reason) {
113
- AppMetricaNative.reportError(identifier, message);
128
+ AppMetricaNative.reportError(identifier, message, _reason instanceof Error ? _error.AppMetricaError.withError(_reason) : _error.AppMetricaError.withObject(_reason));
129
+ }
130
+ static reportUnhandledException(error) {
131
+ AppMetricaNative.reportUnhandledException(_error.AppMetricaError.withError(error));
132
+ }
133
+ static reportErrorWithoutIdentifier(message, error) {
134
+ AppMetricaNative.reportErrorWithoutIdentifier(message, _error.AppMetricaError.withError(error));
114
135
  }
115
136
  static reportEvent(eventName, attributes) {
116
137
  AppMetricaNative.reportEvent(eventName, attributes);
@@ -154,6 +175,37 @@ class AppMetrica {
154
175
  static reportExternalAttribution(attribution) {
155
176
  AppMetricaNative.reportExternalAttribution(attribution);
156
177
  }
178
+ static putAppEnvironmentValue(key, value) {
179
+ AppMetricaNative.putAppEnvironmentValue(key, value);
180
+ }
181
+ static clearAppEnvironment() {
182
+ AppMetricaNative.clearAppEnvironment();
183
+ }
184
+ static getReporter(apiKey) {
185
+ if (AppMetrica.reporters.has(apiKey)) {
186
+ return AppMetrica.reporters.get(apiKey);
187
+ } else {
188
+ AppMetricaNative.touchReporter(apiKey);
189
+ const reporter = new _reporter.Reporter(apiKey);
190
+ AppMetrica.reporters.set(apiKey, reporter);
191
+ return reporter;
192
+ }
193
+ }
194
+ static activateReporter(config) {
195
+ AppMetricaNative.activateReporter(config);
196
+ }
197
+ static getDeviceId() {
198
+ return AppMetricaNative.getDeviceId();
199
+ }
200
+ static getUuid() {
201
+ return AppMetricaNative.getUuid();
202
+ }
203
+ static requestDeferredDeeplink(listener) {
204
+ AppMetricaNative.requestDeferredDeeplink(listener.onFailure, listener.onSuccess);
205
+ }
206
+ static requestDeferredDeeplinkParameters(listener) {
207
+ AppMetricaNative.requestDeferredDeeplinkParameters(listener.onFailure, listener.onSuccess);
208
+ }
157
209
  }
158
210
  exports.default = AppMetrica;
159
211
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_utils","_ecommerce","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_revenue","_userProfile","_externalAttribution","LINKING_ERROR","Platform","select","ios","default","AppMetricaNative","NativeModules","AppMetrica","Proxy","Error","activated","appOpenTracking","getUrlAsync","initialUrl","Linking","getInitialURL","reportAppOpen","callback","event","url","addEventListener","DEVICE_ID_HASH_KEY","DEVICE_ID_KEY","UUID_KEY","activate","config","appOpenTrackingEnabled","getLibraryApiLevel","getLibraryVersion","pauseSession","deeplink","reportError","identifier","message","_reason","reportEvent","eventName","attributes","requestStartupParams","listener","identifiers","resumeSession","sendEventsBuffer","setLocation","location","setLocationTracking","enabled","setDataSendingEnabled","setUserProfileID","userProfileID","reportECommerce","reportRevenue","revenue","reportAdRevenue","adRevenue","normalizeAdRevenue","reportUserProfile","userProfile","putErrorEnvironmentValue","value","reportExternalAttribution","attribution"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_utils","_error","_reporter","_ecommerce","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_revenue","_userProfile","_externalAttribution","_deferredDeeplink","LINKING_ERROR","Platform","select","ios","default","AppMetricaNative","NativeModules","AppMetrica","Proxy","Error","activated","appOpenTracking","getUrlAsync","initialUrl","Linking","getInitialURL","reportAppOpen","callback","event","url","addEventListener","DEVICE_ID_HASH_KEY","DEVICE_ID_KEY","UUID_KEY","reporters","Map","activate","config","appOpenTrackingEnabled","getLibraryApiLevel","getLibraryVersion","pauseSession","deeplink","reportError","identifier","message","_reason","AppMetricaError","withError","withObject","reportUnhandledException","error","reportErrorWithoutIdentifier","reportEvent","eventName","attributes","requestStartupParams","listener","identifiers","resumeSession","sendEventsBuffer","setLocation","location","setLocationTracking","enabled","setDataSendingEnabled","setUserProfileID","userProfileID","reportECommerce","reportRevenue","revenue","reportAdRevenue","adRevenue","normalizeAdRevenue","reportUserProfile","userProfile","putErrorEnvironmentValue","value","reportExternalAttribution","attribution","putAppEnvironmentValue","clearAppEnvironment","getReporter","apiKey","has","touchReporter","reporter","Reporter","set","activateReporter","getDeviceId","getUuid","requestDeferredDeeplink","onFailure","onSuccess","requestDeferredDeeplinkParameters"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Reporter = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _error = require("./error");
9
+ const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
10
+ ios: "- You have run 'pod install'\n",
11
+ default: ''
12
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
13
+ const ReporterNativeModule = _reactNative.NativeModules.AppMetricaReporter ? _reactNative.NativeModules.AppMetricaReporter : new Proxy({}, {
14
+ get() {
15
+ throw new Error(LINKING_ERROR);
16
+ }
17
+ });
18
+ class Reporter {
19
+ constructor(apiKey) {
20
+ this.apiKey = apiKey;
21
+ }
22
+ reportError(identifier, message, _reason) {
23
+ ReporterNativeModule.reportError(this.apiKey, identifier, message, _reason instanceof Error ? _error.AppMetricaError.withError(_reason) : _error.AppMetricaError.withObject(_reason));
24
+ }
25
+ reportErrorWithoutIdentifier(message, error) {
26
+ ReporterNativeModule.reportErrorWithoutIdentifier(this.apiKey, message, _error.AppMetricaError.withError(error));
27
+ }
28
+ reportUnhandledException(error) {
29
+ ReporterNativeModule.reportUnhandledException(this.apiKey, _error.AppMetricaError.withError(error));
30
+ }
31
+ reportEvent(eventName, attributes) {
32
+ ReporterNativeModule.reportEvent(this.apiKey, eventName, attributes);
33
+ }
34
+ pauseSession() {
35
+ ReporterNativeModule.pauseSession(this.apiKey);
36
+ }
37
+ resumeSession() {
38
+ ReporterNativeModule.resumeSession(this.apiKey);
39
+ }
40
+ sendEventsBuffer() {
41
+ ReporterNativeModule.sendEventsBuffer(this.apiKey);
42
+ }
43
+ clearAppEnvironment() {
44
+ ReporterNativeModule.clearAppEnvironment(this.apiKey);
45
+ }
46
+ putAppEnvironmentValue(key, value) {
47
+ ReporterNativeModule.putAppEnvironmentValue(this.apiKey, key, value);
48
+ }
49
+ setUserProfileID(userProfileID) {
50
+ ReporterNativeModule.setUserProfileID(this.apiKey, userProfileID);
51
+ }
52
+ setDataSendingEnabled(enabled) {
53
+ ReporterNativeModule.setDataSendingEnabled(this.apiKey, enabled);
54
+ }
55
+ reportUserProfile(profile) {
56
+ ReporterNativeModule.reportUserProfile(this.apiKey, profile);
57
+ }
58
+ reportAdRevenue(adRevenue) {
59
+ ReporterNativeModule.reportAdRevenue(this.apiKey, adRevenue);
60
+ }
61
+ reportECommerce(ecommerce) {
62
+ ReporterNativeModule.reportECommerce(this.apiKey, ecommerce);
63
+ }
64
+ reportRevenue(revenue) {
65
+ ReporterNativeModule.reportRevenue(this.apiKey, revenue);
66
+ }
67
+ }
68
+ exports.Reporter = Reporter;
69
+ //# sourceMappingURL=reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_error","LINKING_ERROR","Platform","select","ios","default","ReporterNativeModule","NativeModules","AppMetricaReporter","Proxy","get","Error","Reporter","constructor","apiKey","reportError","identifier","message","_reason","AppMetricaError","withError","withObject","reportErrorWithoutIdentifier","error","reportUnhandledException","reportEvent","eventName","attributes","pauseSession","resumeSession","sendEventsBuffer","clearAppEnvironment","putAppEnvironmentValue","key","value","setUserProfileID","userProfileID","setDataSendingEnabled","enabled","reportUserProfile","profile","reportAdRevenue","adRevenue","reportECommerce","ecommerce","reportRevenue","revenue","exports"],"sourceRoot":"../../src","sources":["reporter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=deferredDeeplink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["deferredDeeplink.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,63 @@
1
+ import { Platform } from 'react-native';
2
+ import React from 'react';
3
+ const traceRegex = /^\s*at (.*?) ?\((.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
4
+ function parseTraceLine(line) {
5
+ const parts = traceRegex.exec(line);
6
+ if (parts === null) {
7
+ return undefined;
8
+ }
9
+ return {
10
+ fileName: parts[2],
11
+ methodName: parts[1],
12
+ column: parts[3],
13
+ line: parts[4]
14
+ };
15
+ }
16
+ function getRNVersion() {
17
+ const versions = Platform.constants.reactNativeVersion;
18
+ return versions.major + '.' + versions.minor + '.' + versions.patch;
19
+ }
20
+ function getReactVersion() {
21
+ return React.version;
22
+ }
23
+ function getPluginEnvironment() {
24
+ return {
25
+ reactVersion: getReactVersion()
26
+ };
27
+ }
28
+ function parseStackTrace(stackTrace) {
29
+ if (stackTrace === undefined) {
30
+ return undefined;
31
+ }
32
+ try {
33
+ const lines = stackTrace.split('\n');
34
+ const array = [];
35
+ lines === null || lines === void 0 || lines.forEach(line => {
36
+ const item = parseTraceLine(line);
37
+ if (item !== undefined) {
38
+ array.push(item);
39
+ }
40
+ });
41
+ return array;
42
+ } catch (e) {
43
+ console.log(e);
44
+ return undefined;
45
+ }
46
+ }
47
+ export class AppMetricaError {
48
+ constructor(errorName, message) {
49
+ this.errorName = errorName;
50
+ this.message = message;
51
+ this.pluginEnvironment = getPluginEnvironment();
52
+ this.virtualMachineVersion = getRNVersion();
53
+ }
54
+ static withError(error) {
55
+ const newError = new AppMetricaError(error.name, error.message);
56
+ newError.stackTrace = parseStackTrace(error.stack);
57
+ return newError;
58
+ }
59
+ static withObject(error) {
60
+ return new AppMetricaError(undefined, JSON.stringify(error));
61
+ }
62
+ }
63
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","React","traceRegex","parseTraceLine","line","parts","exec","undefined","fileName","methodName","column","getRNVersion","versions","constants","reactNativeVersion","major","minor","patch","getReactVersion","version","getPluginEnvironment","reactVersion","parseStackTrace","stackTrace","lines","split","array","forEach","item","push","e","console","log","AppMetricaError","constructor","errorName","message","pluginEnvironment","virtualMachineVersion","withError","error","newError","name","stack","withObject","JSON","stringify"],"sourceRoot":"../../src","sources":["error.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,UAAU,GAAG,qDAAqD;AAExE,SAASC,cAAcA,CAACC,IAAY,EAA8B;EAChE,MAAMC,KAAK,GAAGH,UAAU,CAACI,IAAI,CAACF,IAAI,CAAC;EACnC,IAAIC,KAAK,KAAK,IAAI,EAAE;IAClB,OAAOE,SAAS;EAClB;EACA,OAAO;IACLC,QAAQ,EAAEH,KAAK,CAAC,CAAC,CAAC;IAClBI,UAAU,EAAEJ,KAAK,CAAC,CAAC,CAAC;IACpBK,MAAM,EAAEL,KAAK,CAAC,CAAC,CAAC;IAChBD,IAAI,EAAEC,KAAK,CAAC,CAAC;EACf,CAAC;AACH;AAEA,SAASM,YAAYA,CAAA,EAAW;EAC9B,MAAMC,QAAQ,GAAGZ,QAAQ,CAACa,SAAS,CAACC,kBAAkB;EACtD,OAAOF,QAAQ,CAACG,KAAK,GAAG,GAAG,GAAGH,QAAQ,CAACI,KAAK,GAAG,GAAG,GAAGJ,QAAQ,CAACK,KAAK;AACrE;AAEA,SAASC,eAAeA,CAAA,EAAW;EACjC,OAAOjB,KAAK,CAACkB,OAAO;AACtB;AAEA,SAASC,oBAAoBA,CAAA,EAAuC;EAClE,OAAO;IACLC,YAAY,EAAEH,eAAe,CAAC;EAChC,CAAC;AACH;AAEA,SAASI,eAAeA,CACtBC,UAAmB,EACgB;EACnC,IAAIA,UAAU,KAAKhB,SAAS,EAAE;IAC5B,OAAOA,SAAS;EAClB;EACA,IAAI;IACF,MAAMiB,KAAK,GAAGD,UAAU,CAACE,KAAK,CAAC,IAAI,CAAC;IACpC,MAAMC,KAA4B,GAAG,EAAE;IACvCF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEG,OAAO,CAAEvB,IAAY,IAAK;MAC/B,MAAMwB,IAAI,GAAGzB,cAAc,CAACC,IAAI,CAAC;MACjC,IAAIwB,IAAI,KAAKrB,SAAS,EAAE;QACtBmB,KAAK,CAACG,IAAI,CAACD,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACF,OAAOF,KAAK;EACd,CAAC,CAAC,OAAMI,CAAC,EAAE;IACTC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC;IACd,OAAOvB,SAAS;EAClB;AACF;AAUA,OAAO,MAAM0B,eAAe,CAAC;EAO3BC,WAAWA,CAACC,SAAkB,EAAEC,OAAgB,EAAE;IAChD,IAAI,CAACD,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,iBAAiB,GAAGjB,oBAAoB,CAAC,CAAC;IAC/C,IAAI,CAACkB,qBAAqB,GAAG3B,YAAY,CAAC,CAAC;EAC7C;EAEA,OAAO4B,SAASA,CAACC,KAAY,EAAmB;IAC9C,MAAMC,QAAQ,GAAG,IAAIR,eAAe,CAACO,KAAK,CAACE,IAAI,EAAEF,KAAK,CAACJ,OAAO,CAAC;IAC/DK,QAAQ,CAAClB,UAAU,GAAGD,eAAe,CAACkB,KAAK,CAACG,KAAK,CAAC;IAClD,OAAOF,QAAQ;EACjB;EAEA,OAAOG,UAAUA,CAACJ,KAAc,EAAmB;IACjD,OAAO,IAAIP,eAAe,CAAC1B,SAAS,EAAEsC,IAAI,CAACC,SAAS,CAACN,KAAK,CAAC,CAAC;EAC9D;AACF","ignoreList":[]}