@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
@@ -1,5 +1,7 @@
1
1
  import { Linking, NativeModules, Platform } from 'react-native';
2
2
  import { normalizeAdRevenue } from './utils';
3
+ import { AppMetricaError } from './error';
4
+ import { Reporter } from './reporter';
3
5
  const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
4
6
  ios: "- You have run 'pod install'\n",
5
7
  default: ''
@@ -30,7 +32,9 @@ export * from './ecommerce';
30
32
  export * from './revenue';
31
33
  export * from './userProfile';
32
34
  export * from './externalAttribution';
35
+ export * from './deferredDeeplink';
33
36
  export default class AppMetrica {
37
+ static reporters = new Map();
34
38
  static activate(config) {
35
39
  if (!activated) {
36
40
  AppMetricaNative.activate(config);
@@ -55,7 +59,13 @@ export default class AppMetrica {
55
59
  AppMetricaNative.reportAppOpen(deeplink);
56
60
  }
57
61
  static reportError(identifier, message, _reason) {
58
- AppMetricaNative.reportError(identifier, message);
62
+ AppMetricaNative.reportError(identifier, message, _reason instanceof Error ? AppMetricaError.withError(_reason) : AppMetricaError.withObject(_reason));
63
+ }
64
+ static reportUnhandledException(error) {
65
+ AppMetricaNative.reportUnhandledException(AppMetricaError.withError(error));
66
+ }
67
+ static reportErrorWithoutIdentifier(message, error) {
68
+ AppMetricaNative.reportErrorWithoutIdentifier(message, AppMetricaError.withError(error));
59
69
  }
60
70
  static reportEvent(eventName, attributes) {
61
71
  AppMetricaNative.reportEvent(eventName, attributes);
@@ -99,5 +109,36 @@ export default class AppMetrica {
99
109
  static reportExternalAttribution(attribution) {
100
110
  AppMetricaNative.reportExternalAttribution(attribution);
101
111
  }
112
+ static putAppEnvironmentValue(key, value) {
113
+ AppMetricaNative.putAppEnvironmentValue(key, value);
114
+ }
115
+ static clearAppEnvironment() {
116
+ AppMetricaNative.clearAppEnvironment();
117
+ }
118
+ static getReporter(apiKey) {
119
+ if (AppMetrica.reporters.has(apiKey)) {
120
+ return AppMetrica.reporters.get(apiKey);
121
+ } else {
122
+ AppMetricaNative.touchReporter(apiKey);
123
+ const reporter = new Reporter(apiKey);
124
+ AppMetrica.reporters.set(apiKey, reporter);
125
+ return reporter;
126
+ }
127
+ }
128
+ static activateReporter(config) {
129
+ AppMetricaNative.activateReporter(config);
130
+ }
131
+ static getDeviceId() {
132
+ return AppMetricaNative.getDeviceId();
133
+ }
134
+ static getUuid() {
135
+ return AppMetricaNative.getUuid();
136
+ }
137
+ static requestDeferredDeeplink(listener) {
138
+ AppMetricaNative.requestDeferredDeeplink(listener.onFailure, listener.onSuccess);
139
+ }
140
+ static requestDeferredDeeplinkParameters(listener) {
141
+ AppMetricaNative.requestDeferredDeeplinkParameters(listener.onFailure, listener.onSuccess);
142
+ }
102
143
  }
103
144
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","NativeModules","Platform","normalizeAdRevenue","LINKING_ERROR","select","ios","default","AppMetricaNative","AppMetrica","Proxy","get","Error","activated","appOpenTracking","getUrlAsync","initialUrl","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","reportUserProfile","userProfile","putErrorEnvironmentValue","key","value","reportExternalAttribution","attribution"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","NativeModules","Platform","normalizeAdRevenue","AppMetricaError","Reporter","LINKING_ERROR","select","ios","default","AppMetricaNative","AppMetrica","Proxy","get","Error","activated","appOpenTracking","getUrlAsync","initialUrl","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","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","reportUserProfile","userProfile","putErrorEnvironmentValue","key","value","reportExternalAttribution","attribution","putAppEnvironmentValue","clearAppEnvironment","getReporter","apiKey","has","touchReporter","reporter","set","activateReporter","getDeviceId","getUuid","requestDeferredDeeplink","onFailure","onSuccess","requestDeferredDeeplinkParameters"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,62 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ import { AppMetricaError } from './error';
3
+ const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
4
+ ios: "- You have run 'pod install'\n",
5
+ default: ''
6
+ }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
7
+ const ReporterNativeModule = NativeModules.AppMetricaReporter ? NativeModules.AppMetricaReporter : new Proxy({}, {
8
+ get() {
9
+ throw new Error(LINKING_ERROR);
10
+ }
11
+ });
12
+ export class Reporter {
13
+ constructor(apiKey) {
14
+ this.apiKey = apiKey;
15
+ }
16
+ reportError(identifier, message, _reason) {
17
+ ReporterNativeModule.reportError(this.apiKey, identifier, message, _reason instanceof Error ? AppMetricaError.withError(_reason) : AppMetricaError.withObject(_reason));
18
+ }
19
+ reportErrorWithoutIdentifier(message, error) {
20
+ ReporterNativeModule.reportErrorWithoutIdentifier(this.apiKey, message, AppMetricaError.withError(error));
21
+ }
22
+ reportUnhandledException(error) {
23
+ ReporterNativeModule.reportUnhandledException(this.apiKey, AppMetricaError.withError(error));
24
+ }
25
+ reportEvent(eventName, attributes) {
26
+ ReporterNativeModule.reportEvent(this.apiKey, eventName, attributes);
27
+ }
28
+ pauseSession() {
29
+ ReporterNativeModule.pauseSession(this.apiKey);
30
+ }
31
+ resumeSession() {
32
+ ReporterNativeModule.resumeSession(this.apiKey);
33
+ }
34
+ sendEventsBuffer() {
35
+ ReporterNativeModule.sendEventsBuffer(this.apiKey);
36
+ }
37
+ clearAppEnvironment() {
38
+ ReporterNativeModule.clearAppEnvironment(this.apiKey);
39
+ }
40
+ putAppEnvironmentValue(key, value) {
41
+ ReporterNativeModule.putAppEnvironmentValue(this.apiKey, key, value);
42
+ }
43
+ setUserProfileID(userProfileID) {
44
+ ReporterNativeModule.setUserProfileID(this.apiKey, userProfileID);
45
+ }
46
+ setDataSendingEnabled(enabled) {
47
+ ReporterNativeModule.setDataSendingEnabled(this.apiKey, enabled);
48
+ }
49
+ reportUserProfile(profile) {
50
+ ReporterNativeModule.reportUserProfile(this.apiKey, profile);
51
+ }
52
+ reportAdRevenue(adRevenue) {
53
+ ReporterNativeModule.reportAdRevenue(this.apiKey, adRevenue);
54
+ }
55
+ reportECommerce(ecommerce) {
56
+ ReporterNativeModule.reportECommerce(this.apiKey, ecommerce);
57
+ }
58
+ reportRevenue(revenue) {
59
+ ReporterNativeModule.reportRevenue(this.apiKey, revenue);
60
+ }
61
+ }
62
+ //# sourceMappingURL=reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","AppMetricaError","LINKING_ERROR","select","ios","default","ReporterNativeModule","AppMetricaReporter","Proxy","get","Error","Reporter","constructor","apiKey","reportError","identifier","message","_reason","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"],"sourceRoot":"../../src","sources":["reporter.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ export type DeferredDeeplinkError = 'NO_REFERRER' | 'NOT_A_FIRST_LAUNCH' | 'PARSE_ERROR' | 'UNKNOWN';
2
+ export interface DeferredDeeplinkListener {
3
+ onSuccess: (deeplink: string) => void;
4
+ onFailure: (error: DeferredDeeplinkError, referrer?: string) => void;
5
+ }
6
+ export interface DeferredDeeplinkParametersListener {
7
+ onSuccess: (parameters: Record<string, string>) => void;
8
+ onFailure: (error: DeferredDeeplinkError, referrer?: string) => void;
9
+ }
10
+ //# sourceMappingURL=deferredDeeplink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferredDeeplink.d.ts","sourceRoot":"","sources":["../../../src/deferredDeeplink.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,oBAAoB,GAAG,aAAa,GAAG,SAAS,CAAC;AAErG,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACxD,SAAS,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE"}
@@ -0,0 +1,19 @@
1
+ type StackTraceItem = {
2
+ fileName?: string;
3
+ className?: string;
4
+ methodName?: string;
5
+ line?: string;
6
+ column?: string;
7
+ };
8
+ export declare class AppMetricaError {
9
+ message?: string;
10
+ stackTrace?: Array<StackTraceItem>;
11
+ errorName?: string;
12
+ pluginEnvironment?: Record<string, string>;
13
+ virtualMachineVersion?: string;
14
+ constructor(errorName?: string, message?: string);
15
+ static withError(error: Error): AppMetricaError;
16
+ static withObject(error?: Object): AppMetricaError;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/error.ts"],"names":[],"mappings":"AAuDA,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;gBAEnB,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhD,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAM/C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,eAAe;CAGnD"}
@@ -2,6 +2,8 @@ import type { ECommerceEvent } from './ecommerce';
2
2
  import type { AdRevenue, Revenue } from './revenue';
3
3
  import type { UserProfile } from './userProfile';
4
4
  import type { ExternalAttribution } from './externalAttribution';
5
+ import { type IReporter, type ReporterConfig } from './reporter';
6
+ import type { DeferredDeeplinkListener, DeferredDeeplinkParametersListener } from './deferredDeeplink';
5
7
  export type AppMetricaConfig = {
6
8
  apiKey: string;
7
9
  appVersion?: string;
@@ -20,6 +22,9 @@ export type AppMetricaConfig = {
20
22
  appOpenTrackingEnabled?: boolean;
21
23
  userProfileID?: string;
22
24
  errorEnvironment?: Record<string, string | undefined>;
25
+ appEnvironment?: Record<string, string | undefined>;
26
+ maxReportsCount?: number;
27
+ dispatchPeriodSeconds?: number;
23
28
  };
24
29
  export type PreloadInfo = {
25
30
  trackingId: string;
@@ -48,13 +53,18 @@ export * from './ecommerce';
48
53
  export * from './revenue';
49
54
  export * from './userProfile';
50
55
  export * from './externalAttribution';
56
+ export type { IReporter, ReporterConfig } from './reporter';
57
+ export * from './deferredDeeplink';
51
58
  export default class AppMetrica {
59
+ private static reporters;
52
60
  static activate(config: AppMetricaConfig): void;
53
61
  static getLibraryApiLevel(): Promise<number>;
54
62
  static getLibraryVersion(): Promise<string>;
55
63
  static pauseSession(): void;
56
64
  static reportAppOpen(deeplink?: string): void;
57
- static reportError(identifier: string, message: string, _reason?: Object): void;
65
+ static reportError(identifier: string, message?: string, _reason?: Error | Object): void;
66
+ static reportUnhandledException(error: Error): void;
67
+ static reportErrorWithoutIdentifier(message: string | undefined, error: Error): void;
58
68
  static reportEvent(eventName: string, attributes?: Record<string, any>): void;
59
69
  static requestStartupParams(listener: StartupParamsCallback, identifiers: Array<string>): void;
60
70
  static resumeSession(): void;
@@ -69,5 +79,13 @@ export default class AppMetrica {
69
79
  static reportUserProfile(userProfile: UserProfile): void;
70
80
  static putErrorEnvironmentValue(key: string, value?: string): void;
71
81
  static reportExternalAttribution(attribution: ExternalAttribution): void;
82
+ static putAppEnvironmentValue(key: string, value?: string): void;
83
+ static clearAppEnvironment(): void;
84
+ static getReporter(apiKey: string): IReporter;
85
+ static activateReporter(config: ReporterConfig): void;
86
+ static getDeviceId(): Promise<string | null>;
87
+ static getUuid(): Promise<string | null>;
88
+ static requestDeferredDeeplink(listener: DeferredDeeplinkListener): void;
89
+ static requestDeferredDeeplinkParameters(listener: DeferredDeeplinkParametersListener): void;
72
90
  }
73
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { UserProfile } from './userProfile';
2
+ import type { AdRevenue, Revenue } from './revenue';
3
+ import type { ECommerceEvent } from './ecommerce';
4
+ export interface IReporter {
5
+ reportError(identifier: string, message?: string, _reason?: Error | Object): void;
6
+ reportErrorWithoutIdentifier(message: string | undefined, error: Error): void;
7
+ reportUnhandledException(error: Error): void;
8
+ reportEvent(eventName: string, attributes?: Record<string, any>): void;
9
+ pauseSession(): void;
10
+ resumeSession(): void;
11
+ sendEventsBuffer(): void;
12
+ clearAppEnvironment(): void;
13
+ putAppEnvironmentValue(key: string, value?: string): void;
14
+ setUserProfileID(userProfileID?: string): void;
15
+ setDataSendingEnabled(enabled: boolean): void;
16
+ reportUserProfile(userProfile: UserProfile): void;
17
+ reportAdRevenue(adRevenue: AdRevenue): void;
18
+ reportECommerce(event: ECommerceEvent): void;
19
+ reportRevenue(revenue: Revenue): void;
20
+ }
21
+ export declare class Reporter implements IReporter {
22
+ private apiKey;
23
+ constructor(apiKey: string);
24
+ reportError(identifier: string, message?: string, _reason?: Error | Object): void;
25
+ reportErrorWithoutIdentifier(message: string | undefined, error: Error): void;
26
+ reportUnhandledException(error: Error): void;
27
+ reportEvent(eventName: string, attributes?: Record<string, any>): void;
28
+ pauseSession(): void;
29
+ resumeSession(): void;
30
+ sendEventsBuffer(): void;
31
+ clearAppEnvironment(): void;
32
+ putAppEnvironmentValue(key: string, value?: string): void;
33
+ setUserProfileID(userProfileID: string): void;
34
+ setDataSendingEnabled(enabled: boolean): void;
35
+ reportUserProfile(profile: UserProfile): void;
36
+ reportAdRevenue(adRevenue: AdRevenue): void;
37
+ reportECommerce(ecommerce: ECommerceEvent): void;
38
+ reportRevenue(revenue: Revenue): void;
39
+ }
40
+ export type ReporterConfig = {
41
+ apiKey: string;
42
+ logs?: boolean;
43
+ maxReportsInDatabaseCount?: number;
44
+ sessionTimeout?: number;
45
+ dataSendingEnabled?: boolean;
46
+ appEnvironment?: Record<string, string | undefined>;
47
+ dispatchPeriodSeconds?: number;
48
+ userProfileID?: string;
49
+ maxReportsCount?: number;
50
+ };
51
+ //# sourceMappingURL=reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../src/reporter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IAClF,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9E,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACvE,YAAY,IAAI,IAAI,CAAC;IACrB,aAAa,IAAI,IAAI,CAAC;IACtB,gBAAgB,IAAI,IAAI,CAAC;IACzB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,gBAAgB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAClD,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5C,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7C,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACvC;AAED,qBAAa,QAAS,YAAW,SAAS;IAExC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM;IAS1E,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK;IAItE,wBAAwB,CAAC,KAAK,EAAE,KAAK;IAIrC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/D,YAAY;IAIZ,aAAa;IAIb,gBAAgB;IAIhB,mBAAmB;IAInB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAIlD,gBAAgB,CAAC,aAAa,EAAE,MAAM;IAItC,qBAAqB,CAAC,OAAO,EAAE,OAAO;IAItC,iBAAiB,CAAC,OAAO,EAAE,WAAW;IAItC,eAAe,CAAC,SAAS,EAAE,SAAS;IAIpC,eAAe,CAAC,SAAS,EAAE,cAAc;IAIzC,aAAa,CAAC,OAAO,EAAE,OAAO;CAG/B;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appmetrica/react-native-analytics",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "React Native plugin for AppMetrica analytics tool",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -57,7 +57,9 @@
57
57
  "devDependencies": {
58
58
  "@react-native/eslint-config": "^0.73.1",
59
59
  "@types/jest": "^29.5.5",
60
+ "@types/jsdom": "^21.1.7",
60
61
  "@types/react": "^18.2.44",
62
+ "@types/node": "^22.10.0",
61
63
  "del-cli": "^5.1.0",
62
64
  "eslint": "^8.51.0",
63
65
  "eslint-config-prettier": "^9.0.0",
@@ -0,0 +1,11 @@
1
+ export type DeferredDeeplinkError = 'NO_REFERRER' | 'NOT_A_FIRST_LAUNCH' | 'PARSE_ERROR' | 'UNKNOWN';
2
+
3
+ export interface DeferredDeeplinkListener {
4
+ onSuccess: (deeplink: string) => void;
5
+ onFailure: (error: DeferredDeeplinkError, referrer?: string) => void;
6
+ }
7
+
8
+ export interface DeferredDeeplinkParametersListener {
9
+ onSuccess: (parameters: Record<string, string>) => void;
10
+ onFailure: (error: DeferredDeeplinkError, referrer?: string) => void;
11
+ }
package/src/error.ts ADDED
@@ -0,0 +1,87 @@
1
+ import { Platform } from 'react-native';
2
+ import React from 'react';
3
+
4
+ const traceRegex = /^\s*at (.*?) ?\((.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
5
+
6
+ function parseTraceLine(line: string): StackTraceItem | undefined {
7
+ const parts = traceRegex.exec(line);
8
+ if (parts === null) {
9
+ return undefined;
10
+ }
11
+ return {
12
+ fileName: parts[2],
13
+ methodName: parts[1],
14
+ column: parts[3],
15
+ line: parts[4],
16
+ };
17
+ }
18
+
19
+ function getRNVersion(): string {
20
+ const versions = Platform.constants.reactNativeVersion;
21
+ return versions.major + '.' + versions.minor + '.' + versions.patch;
22
+ }
23
+
24
+ function getReactVersion(): string {
25
+ return React.version;
26
+ }
27
+
28
+ function getPluginEnvironment(): Record<string, string> | undefined {
29
+ return {
30
+ reactVersion: getReactVersion(),
31
+ };
32
+ }
33
+
34
+ function parseStackTrace(
35
+ stackTrace?: string
36
+ ): Array<StackTraceItem> | undefined {
37
+ if (stackTrace === undefined) {
38
+ return undefined;
39
+ }
40
+ try {
41
+ const lines = stackTrace.split('\n');
42
+ const array: Array<StackTraceItem> = [];
43
+ lines?.forEach((line: string) => {
44
+ const item = parseTraceLine(line);
45
+ if (item !== undefined) {
46
+ array.push(item);
47
+ }
48
+ });
49
+ return array;
50
+ } catch(e) {
51
+ console.log(e);
52
+ return undefined;
53
+ }
54
+ }
55
+
56
+ type StackTraceItem = {
57
+ fileName?: string;
58
+ className?: string;
59
+ methodName?: string;
60
+ line?: string;
61
+ column?: string;
62
+ };
63
+
64
+ export class AppMetricaError {
65
+ message?: string;
66
+ stackTrace?: Array<StackTraceItem>;
67
+ errorName?: string;
68
+ pluginEnvironment?: Record<string, string>;
69
+ virtualMachineVersion?: string;
70
+
71
+ constructor(errorName?: string, message?: string) {
72
+ this.errorName = errorName;
73
+ this.message = message;
74
+ this.pluginEnvironment = getPluginEnvironment();
75
+ this.virtualMachineVersion = getRNVersion();
76
+ }
77
+
78
+ static withError(error: Error): AppMetricaError {
79
+ const newError = new AppMetricaError(error.name, error.message);
80
+ newError.stackTrace = parseStackTrace(error.stack);
81
+ return newError;
82
+ }
83
+
84
+ static withObject(error?: Object): AppMetricaError {
85
+ return new AppMetricaError(undefined, JSON.stringify(error));
86
+ }
87
+ }
package/src/index.ts CHANGED
@@ -4,6 +4,12 @@ import type { AdRevenue, Revenue } from './revenue';
4
4
  import type { UserProfile } from './userProfile';
5
5
  import type { ExternalAttribution } from './externalAttribution';
6
6
  import { normalizeAdRevenue } from './utils';
7
+ import { AppMetricaError } from './error';
8
+ import { Reporter, type IReporter, type ReporterConfig } from './reporter';
9
+ import type {
10
+ DeferredDeeplinkListener,
11
+ DeferredDeeplinkParametersListener,
12
+ } from './deferredDeeplink';
7
13
 
8
14
  const LINKING_ERROR =
9
15
  `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` +
@@ -57,6 +63,9 @@ export type AppMetricaConfig = {
57
63
  userProfileID?: string;
58
64
 
59
65
  errorEnvironment?: Record<string, string | undefined>;
66
+ appEnvironment?: Record<string, string | undefined>;
67
+ maxReportsCount?: number;
68
+ dispatchPeriodSeconds?: number;
60
69
  };
61
70
 
62
71
  export type PreloadInfo = {
@@ -95,8 +104,13 @@ export * from './ecommerce';
95
104
  export * from './revenue';
96
105
  export * from './userProfile';
97
106
  export * from './externalAttribution';
107
+ export type { IReporter, ReporterConfig } from './reporter';
108
+ export * from './deferredDeeplink';
98
109
 
99
110
  export default class AppMetrica {
111
+
112
+ private static reporters: Map<string, Reporter> = new Map();
113
+
100
114
  static activate(config: AppMetricaConfig) {
101
115
  if (!activated) {
102
116
  AppMetricaNative.activate(config);
@@ -124,8 +138,24 @@ export default class AppMetrica {
124
138
  AppMetricaNative.reportAppOpen(deeplink);
125
139
  }
126
140
 
127
- static reportError(identifier: string, message: string, _reason?: Object) {
128
- AppMetricaNative.reportError(identifier, message);
141
+ static reportError(
142
+ identifier: string,
143
+ message?: string,
144
+ _reason?: Error | Object
145
+ ) {
146
+ AppMetricaNative.reportError(
147
+ identifier,
148
+ message,
149
+ _reason instanceof Error ? AppMetricaError.withError(_reason) : AppMetricaError.withObject(_reason)
150
+ );
151
+ }
152
+
153
+ static reportUnhandledException(error: Error) {
154
+ AppMetricaNative.reportUnhandledException(AppMetricaError.withError(error));
155
+ }
156
+
157
+ static reportErrorWithoutIdentifier(message: string | undefined, error: Error) {
158
+ AppMetricaNative.reportErrorWithoutIdentifier(message, AppMetricaError.withError(error));
129
159
  }
130
160
 
131
161
  static reportEvent(eventName: string, attributes?: Record<string, any>) {
@@ -186,4 +216,51 @@ export default class AppMetrica {
186
216
  static reportExternalAttribution(attribution: ExternalAttribution) {
187
217
  AppMetricaNative.reportExternalAttribution(attribution);
188
218
  }
219
+
220
+ static putAppEnvironmentValue(key: string, value?: string) {
221
+ AppMetricaNative.putAppEnvironmentValue(key, value);
222
+ }
223
+
224
+ static clearAppEnvironment() {
225
+ AppMetricaNative.clearAppEnvironment();
226
+ }
227
+
228
+ static getReporter(apiKey: string): IReporter {
229
+ if (AppMetrica.reporters.has(apiKey)) {
230
+ return AppMetrica.reporters.get(apiKey)!;
231
+ } else {
232
+ AppMetricaNative.touchReporter(apiKey);
233
+ const reporter = new Reporter(apiKey);
234
+ AppMetrica.reporters.set(apiKey, reporter);
235
+ return reporter;
236
+ }
237
+ }
238
+
239
+ static activateReporter(config: ReporterConfig) {
240
+ AppMetricaNative.activateReporter(config);
241
+ }
242
+
243
+ static getDeviceId(): Promise<string | null> {
244
+ return AppMetricaNative.getDeviceId();
245
+ }
246
+
247
+ static getUuid(): Promise<string | null> {
248
+ return AppMetricaNative.getUuid();
249
+ }
250
+
251
+ static requestDeferredDeeplink(listener: DeferredDeeplinkListener) {
252
+ AppMetricaNative.requestDeferredDeeplink(
253
+ listener.onFailure,
254
+ listener.onSuccess
255
+ );
256
+ }
257
+
258
+ static requestDeferredDeeplinkParameters(
259
+ listener: DeferredDeeplinkParametersListener
260
+ ) {
261
+ AppMetricaNative.requestDeferredDeeplinkParameters(
262
+ listener.onFailure,
263
+ listener.onSuccess
264
+ );
265
+ }
189
266
  }