@appmetrica/react-native-analytics 3.1.0 → 3.3.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/io/appmetrica/analytics/reactnative/AppMetricaModule.java +19 -2
- package/android/src/main/java/io/appmetrica/analytics/reactnative/ExternalAttributionSerializer.java +37 -0
- package/android/src/main/java/io/appmetrica/analytics/reactnative/Utils.java +9 -0
- package/appmetrica-react-native-analytics.podspec +1 -1
- package/ios/AMARNAppMetrica.m +23 -0
- package/ios/AMARNAppMetricaUtils.m +18 -12
- package/ios/AMARNExternalAttribution.h +4 -0
- package/ios/AMARNExternalAttribution.m +28 -0
- package/lib/commonjs/externalAttribution.js +46 -0
- package/lib/commonjs/externalAttribution.js.map +1 -0
- package/lib/commonjs/index.js +18 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/externalAttribution.js +39 -0
- package/lib/module/externalAttribution.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/externalAttribution.d.ts +15 -0
- package/lib/typescript/src/externalAttribution.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/externalAttribution.ts +56 -0
- package/src/index.ts +13 -1
package/android/build.gradle
CHANGED
|
@@ -85,5 +85,5 @@ dependencies {
|
|
|
85
85
|
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
86
86
|
//noinspection GradleDynamicVersion
|
|
87
87
|
implementation "com.facebook.react:react-native:+"
|
|
88
|
-
implementation "io.appmetrica.analytics:analytics:7.
|
|
88
|
+
implementation "io.appmetrica.analytics:analytics:7.2.0"
|
|
89
89
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
package io.appmetrica.analytics.reactnative;
|
|
2
2
|
|
|
3
|
-
import android.
|
|
3
|
+
import android.text.TextUtils;
|
|
4
4
|
import android.util.Log;
|
|
5
5
|
import androidx.annotation.NonNull;
|
|
6
6
|
import com.facebook.react.bridge.Callback;
|
|
@@ -12,8 +12,12 @@ import com.facebook.react.bridge.ReadableArray;
|
|
|
12
12
|
import com.facebook.react.bridge.ReadableMap;
|
|
13
13
|
import com.facebook.react.module.annotations.ReactModule;
|
|
14
14
|
|
|
15
|
+
import java.util.Iterator;
|
|
16
|
+
import java.util.Map;
|
|
17
|
+
|
|
15
18
|
import io.appmetrica.analytics.AppMetrica;
|
|
16
19
|
import io.appmetrica.analytics.AppMetricaConfig;
|
|
20
|
+
import io.appmetrica.analytics.ModulesFacade;
|
|
17
21
|
import io.appmetrica.analytics.ecommerce.ECommerceEvent;
|
|
18
22
|
|
|
19
23
|
@ReactModule(name = AppMetricaModule.NAME)
|
|
@@ -40,7 +44,7 @@ public class AppMetricaModule extends ReactContextBaseJavaModule {
|
|
|
40
44
|
public void activate(ReadableMap configMap) {
|
|
41
45
|
AppMetricaConfig config = Utils.toAppMetricaConfig(configMap);
|
|
42
46
|
AppMetrica.activate(reactContext, config);
|
|
43
|
-
if (Boolean.
|
|
47
|
+
if (!Boolean.FALSE.equals(config.sessionsAutoTrackingEnabled)) {
|
|
44
48
|
AppMetrica.resumeSession(getCurrentActivity());
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -146,4 +150,17 @@ public class AppMetricaModule extends ReactContextBaseJavaModule {
|
|
|
146
150
|
Log.w(TAG, "Cannot parse user profile", e);
|
|
147
151
|
}
|
|
148
152
|
}
|
|
153
|
+
|
|
154
|
+
@ReactMethod
|
|
155
|
+
public void putErrorEnvironmentValue(String key, String value) {
|
|
156
|
+
AppMetrica.putErrorEnvironmentValue(key, value);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@ReactMethod
|
|
160
|
+
public void reportExternalAttribution(ReadableMap attribution) {
|
|
161
|
+
ModulesFacade.reportExternalAttribution(
|
|
162
|
+
ExternalAttributionSerializer.parseSource(attribution.getString("source")),
|
|
163
|
+
ExternalAttributionSerializer.parseValue(attribution.getMap("value"))
|
|
164
|
+
);
|
|
165
|
+
}
|
|
149
166
|
}
|
package/android/src/main/java/io/appmetrica/analytics/reactnative/ExternalAttributionSerializer.java
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
package io.appmetrica.analytics.reactnative;
|
|
2
|
+
|
|
3
|
+
import android.text.TextUtils;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
6
|
+
|
|
7
|
+
import org.json.JSONObject;
|
|
8
|
+
|
|
9
|
+
import io.appmetrica.analytics.ModulesFacade;
|
|
10
|
+
|
|
11
|
+
final class ExternalAttributionSerializer {
|
|
12
|
+
private ExternalAttributionSerializer() {}
|
|
13
|
+
|
|
14
|
+
public static int parseSource(String sourceString) {
|
|
15
|
+
if (TextUtils.isEmpty(sourceString)) {
|
|
16
|
+
return -1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
return switch (sourceString) {
|
|
20
|
+
case "AppsFlyer" -> ModulesFacade.EXTERNAL_ATTRIBUTION_APPSFLYER;
|
|
21
|
+
case "Adjust" -> ModulesFacade.EXTERNAL_ATTRIBUTION_ADJUST;
|
|
22
|
+
case "Kochava" -> ModulesFacade.EXTERNAL_ATTRIBUTION_KOCHAVA;
|
|
23
|
+
case "Tenjin" -> ModulesFacade.EXTERNAL_ATTRIBUTION_TENJIN;
|
|
24
|
+
case "Airbridge" -> ModulesFacade.EXTERNAL_ATTRIBUTION_AIRBRIDGE;
|
|
25
|
+
case "Singular" -> ModulesFacade.EXTERNAL_ATTRIBUTION_SINGULAR;
|
|
26
|
+
default -> -1;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public static String parseValue(ReadableMap valueMap) {
|
|
31
|
+
if (valueMap == null) {
|
|
32
|
+
return "";
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return new JSONObject(valueMap.toHashMap()).toString();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -75,6 +75,15 @@ abstract class Utils {
|
|
|
75
75
|
if (configMap.hasKey("userProfileID")) {
|
|
76
76
|
builder.withUserProfileID(configMap.getString("userProfileID"));
|
|
77
77
|
}
|
|
78
|
+
if (configMap.hasKey("errorEnvironment")) {
|
|
79
|
+
ReadableMap errorEnvironmentMap = configMap.getMap("errorEnvironment");
|
|
80
|
+
if (errorEnvironmentMap != null) {
|
|
81
|
+
for (Map.Entry<String, Object> entry : errorEnvironmentMap.toHashMap().entrySet()) {
|
|
82
|
+
Object value = entry.getValue();
|
|
83
|
+
builder.withErrorEnvironmentValue(entry.getKey(), value == null ? null : value.toString());
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
78
87
|
|
|
79
88
|
return builder.build();
|
|
80
89
|
}
|
|
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
|
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm}"
|
|
18
18
|
|
|
19
|
-
s.dependency "AppMetricaAnalytics", "5.
|
|
19
|
+
s.dependency "AppMetricaAnalytics", "5.8.0"
|
|
20
20
|
|
|
21
21
|
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
|
22
22
|
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
package/ios/AMARNAppMetrica.m
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#import "AMARNAppMetricaUtils.h"
|
|
4
4
|
#import "AMARNStartupParamsUtils.h"
|
|
5
5
|
#import "AMARNUserProfileSerializer.h"
|
|
6
|
+
#import "AMARNExternalAttribution.h"
|
|
6
7
|
#import <AppMetricaCrashes/AppMetricaCrashes.h>
|
|
7
8
|
|
|
8
9
|
@implementation AMARNAppMetrica
|
|
@@ -115,6 +116,28 @@ RCT_EXPORT_METHOD(reportUserProfile:(NSDictionary *)userProfileDict)
|
|
|
115
116
|
[AMAAppMetrica reportUserProfile:[AMARNAppMetricaUtils userProfileForDict:userProfileDict] onFailure:nil];
|
|
116
117
|
}
|
|
117
118
|
|
|
119
|
+
RCT_EXPORT_METHOD(putErrorEnvironmentValue:(NSString *)key:(NSString *)value)
|
|
120
|
+
{
|
|
121
|
+
[[AMAAppMetricaCrashes crashes] setErrorEnvironmentValue:value forKey:key];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
RCT_EXPORT_METHOD(reportExternalAttribution:(NSDictionary *)externalAttributionsDict)
|
|
125
|
+
{
|
|
126
|
+
|
|
127
|
+
NSString *sourceStr = externalAttributionsDict[@"source"];
|
|
128
|
+
AMAAttributionSource source = amarn_getExternalAttributionSource(sourceStr);
|
|
129
|
+
if (source == nil) {
|
|
130
|
+
NSLog(@"Failed to report external attribution to AppMetrica. Unknown source %@", sourceStr);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
NSDictionary *value = externalAttributionsDict[@"value"];
|
|
135
|
+
|
|
136
|
+
[AMAAppMetrica reportExternalAttribution:value source:source onFailure:^(NSError *error) {
|
|
137
|
+
NSLog(@"Failed to report external attribution to AppMetrica: %@", [error localizedDescription]);
|
|
138
|
+
}];
|
|
139
|
+
}
|
|
140
|
+
|
|
118
141
|
- (NSObject *)wrap:(NSObject *)value
|
|
119
142
|
{
|
|
120
143
|
if (value == nil) {
|
|
@@ -53,6 +53,12 @@
|
|
|
53
53
|
if (crashConfigDict[@"crashReporting"] != nil) {
|
|
54
54
|
crashesConfiguration.autoCrashTracking = [crashConfigDict[@"crashReporting"] boolValue];
|
|
55
55
|
}
|
|
56
|
+
if (crashConfigDict[@"errorEnvironment"] != nil) {
|
|
57
|
+
NSDictionary *errorEnvironmentDict = crashConfigDict[@"errorEnvironment"];
|
|
58
|
+
for (NSString *key in errorEnvironmentDict) {
|
|
59
|
+
[[AMAAppMetricaCrashes crashes] setErrorEnvironmentValue:errorEnvironmentDict[key] forKey:key];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
56
62
|
return crashesConfiguration;
|
|
57
63
|
}
|
|
58
64
|
|
|
@@ -116,7 +122,7 @@
|
|
|
116
122
|
categoryComponents:categoriesPath
|
|
117
123
|
searchQuery:searchQuery
|
|
118
124
|
payload:payload];
|
|
119
|
-
|
|
125
|
+
|
|
120
126
|
return screen;
|
|
121
127
|
}
|
|
122
128
|
|
|
@@ -127,16 +133,16 @@
|
|
|
127
133
|
}
|
|
128
134
|
AMAECommerceAmount *amount = [self ecommerceAmountForDict:ecommercePriceDict[@"amount"]];
|
|
129
135
|
NSArray *componentsArray = ecommercePriceDict[@"internalComponents"];
|
|
130
|
-
|
|
136
|
+
|
|
131
137
|
NSMutableArray *components = [[NSMutableArray alloc] init];
|
|
132
138
|
|
|
133
139
|
for (NSDictionary *item in componentsArray) {
|
|
134
140
|
[components addObject:[self ecommerceAmountForDict:item]];
|
|
135
141
|
}
|
|
136
|
-
|
|
142
|
+
|
|
137
143
|
AMAECommercePrice *price = [[AMAECommercePrice alloc] initWithFiat:amount
|
|
138
144
|
internalComponents:components];
|
|
139
|
-
|
|
145
|
+
|
|
140
146
|
return price;
|
|
141
147
|
}
|
|
142
148
|
|
|
@@ -148,7 +154,7 @@
|
|
|
148
154
|
NSString *type = ecommerceReferrerDict[@"type"];
|
|
149
155
|
NSString *identifier = ecommerceReferrerDict[@"identifier"];
|
|
150
156
|
AMAECommerceScreen *screen = [self ecommerceScreenForDict:ecommerceReferrerDict[@"screen"]];
|
|
151
|
-
|
|
157
|
+
|
|
152
158
|
AMAECommerceReferrer *referrer = [[AMAECommerceReferrer alloc] initWithType:type
|
|
153
159
|
identifier:identifier
|
|
154
160
|
screen:screen];
|
|
@@ -167,7 +173,7 @@
|
|
|
167
173
|
NSDictionary *payload = ecommerceProductDict[@"payload"];
|
|
168
174
|
AMAECommercePrice *actualPrice = [self ecommercePriceForDict:ecommerceProductDict[@"actualPrice"]];
|
|
169
175
|
AMAECommercePrice *originalPrice = [self ecommercePriceForDict:ecommerceProductDict[@"originalPrice"]];
|
|
170
|
-
|
|
176
|
+
|
|
171
177
|
AMAECommerceProduct *product = [[AMAECommerceProduct alloc] initWithSKU:sku
|
|
172
178
|
name:name
|
|
173
179
|
categoryComponents:categoriesPath
|
|
@@ -187,7 +193,7 @@
|
|
|
187
193
|
AMAECommercePrice *price = [self ecommercePriceForDict:ecommerceCartItemDict[@"price"]];
|
|
188
194
|
NSDecimalNumber *quantity = [NSDecimalNumber decimalNumberWithDecimal:[ecommerceCartItemDict[@"quantity"] decimalValue]];
|
|
189
195
|
AMAECommerceReferrer *referrer = [self ecommerceReferrerForDict:ecommerceCartItemDict[@"referrer"]];
|
|
190
|
-
|
|
196
|
+
|
|
191
197
|
AMAECommerceCartItem *items = [[AMAECommerceCartItem alloc] initWithProduct:product quantity:quantity revenue:price referrer:referrer];
|
|
192
198
|
return items;
|
|
193
199
|
}
|
|
@@ -205,7 +211,7 @@
|
|
|
205
211
|
for (NSDictionary *item in cartItemsArrayDict) {
|
|
206
212
|
[cartItems addObject:[self ecommerceCartItemForDict:item]];
|
|
207
213
|
}
|
|
208
|
-
|
|
214
|
+
|
|
209
215
|
AMAECommerceOrder *order = [[AMAECommerceOrder alloc] initWithIdentifier:orderId cartItems:cartItems payload:payload];
|
|
210
216
|
return order;
|
|
211
217
|
}
|
|
@@ -215,7 +221,7 @@
|
|
|
215
221
|
if (ecommerceAmountDict == nil) {
|
|
216
222
|
return nil;
|
|
217
223
|
}
|
|
218
|
-
|
|
224
|
+
|
|
219
225
|
NSString *unit = ecommerceAmountDict[@"unit"];
|
|
220
226
|
NSDecimalNumber *value = [NSDecimalNumber decimalNumberWithDecimal:[ecommerceAmountDict[@"amount"] decimalValue]];
|
|
221
227
|
AMAECommerceAmount *amount = [[AMAECommerceAmount alloc] initWithUnit:unit value:value];
|
|
@@ -254,7 +260,7 @@
|
|
|
254
260
|
if ([type isEqualToString:@"removeCartItemEvent"]) {
|
|
255
261
|
AMAECommerceCartItem *item = [self ecommerceCartItemForDict:ecommerceDict[@"cartItem"]];
|
|
256
262
|
AMAECommerce *event = [AMAECommerce removeCartItemEventWithItem:item];
|
|
257
|
-
|
|
263
|
+
|
|
258
264
|
return event;
|
|
259
265
|
}
|
|
260
266
|
if ([type isEqualToString:@"beginCheckoutEvent"]) {
|
|
@@ -270,7 +276,7 @@
|
|
|
270
276
|
return nil;
|
|
271
277
|
}
|
|
272
278
|
|
|
273
|
-
+ (AMARevenueInfo *)revenueForDict:(NSDictionary *)revenueDict
|
|
279
|
+
+ (AMARevenueInfo *)revenueForDict:(NSDictionary *)revenueDict
|
|
274
280
|
{
|
|
275
281
|
NSNumber *number = revenueDict[@"price"];
|
|
276
282
|
NSDecimalNumber *price = [NSDecimalNumber decimalNumberWithDecimal:number.decimalValue];
|
|
@@ -297,7 +303,7 @@
|
|
|
297
303
|
return revenueInfo;
|
|
298
304
|
}
|
|
299
305
|
|
|
300
|
-
+ (AMAAdRevenueInfo *)adRevenueForDict:(NSDictionary *)revenueDict
|
|
306
|
+
+ (AMAAdRevenueInfo *)adRevenueForDict:(NSDictionary *)revenueDict
|
|
301
307
|
{
|
|
302
308
|
NSNumber *number = revenueDict[@"price"];
|
|
303
309
|
NSDecimalNumber *price = [NSDecimalNumber decimalNumberWithDecimal:number.decimalValue];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
#include "AMARNExternalAttribution.h"
|
|
3
|
+
|
|
4
|
+
AMAAttributionSource amarn_getExternalAttributionSource(NSString *sourceStr)
|
|
5
|
+
{
|
|
6
|
+
if (sourceStr == nil) return nil;
|
|
7
|
+
|
|
8
|
+
if ([sourceStr isEqualToString:@"AppsFlyer"]) {
|
|
9
|
+
return kAMAAttributionSourceAppsflyer;
|
|
10
|
+
}
|
|
11
|
+
if ([sourceStr isEqualToString:@"Adjust"]) {
|
|
12
|
+
return kAMAAttributionSourceAdjust;
|
|
13
|
+
}
|
|
14
|
+
if ([sourceStr isEqualToString:@"Kochava"]) {
|
|
15
|
+
return kAMAAttributionSourceKochava;
|
|
16
|
+
}
|
|
17
|
+
if ([sourceStr isEqualToString:@"Tenjin"]) {
|
|
18
|
+
return kAMAAttributionSourceTenjin;
|
|
19
|
+
}
|
|
20
|
+
if ([sourceStr isEqualToString:@"Airbridge"]) {
|
|
21
|
+
return kAMAAttributionSourceAirbridge;
|
|
22
|
+
}
|
|
23
|
+
if ([sourceStr isEqualToString:@"Singular"]) {
|
|
24
|
+
return kAMAAttributionSourceSingular;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return nil;
|
|
28
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ExternalAttributions = void 0;
|
|
7
|
+
class ExternalAttributions {
|
|
8
|
+
static adjust(data) {
|
|
9
|
+
return {
|
|
10
|
+
source: 'Adjust',
|
|
11
|
+
value: data
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
static airbridge(data) {
|
|
15
|
+
return {
|
|
16
|
+
source: 'Airbridge',
|
|
17
|
+
value: data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static appsflyer(data) {
|
|
21
|
+
return {
|
|
22
|
+
source: 'AppsFlyer',
|
|
23
|
+
value: data.data
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static kochava(data) {
|
|
27
|
+
return {
|
|
28
|
+
source: 'Kochava',
|
|
29
|
+
value: data.raw
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
static singular(data) {
|
|
33
|
+
return {
|
|
34
|
+
source: 'Singular',
|
|
35
|
+
value: Object.fromEntries(data)
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
static tenjin(data) {
|
|
39
|
+
return {
|
|
40
|
+
source: 'Tenjin',
|
|
41
|
+
value: data
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ExternalAttributions = ExternalAttributions;
|
|
46
|
+
//# sourceMappingURL=externalAttribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ExternalAttributions","adjust","data","source","value","airbridge","appsflyer","kochava","raw","singular","Object","fromEntries","tenjin","exports"],"sourceRoot":"../../src","sources":["externalAttribution.ts"],"mappings":";;;;;;AAaO,MAAMA,oBAAoB,CAAC;EAChC,OAAOC,MAAMA,CAACC,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOG,SAASA,CAACH,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOI,SAASA,CAACJ,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF,IAAI,CAACA;IACd,CAAC;EACH;EAEA,OAAOK,OAAOA,CAACL,IAAyB,EAAuB;IAC7D,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,KAAK,EAAEF,IAAI,CAACM;IACd,CAAC;EACH;EAEA,OAAOC,QAAQA,CAACP,IAAyB,EAAuB;IAC9D,OAAO;MACLC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAEM,MAAM,CAACC,WAAW,CAACT,IAAI;IAChC,CAAC;EACH;EAEA,OAAOU,MAAMA,CAACV,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;AACF;AAACW,OAAA,CAAAb,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -47,6 +47,18 @@ Object.keys(_userProfile).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
var _externalAttribution = require("./externalAttribution");
|
|
51
|
+
Object.keys(_externalAttribution).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
54
|
+
if (key in exports && exports[key] === _externalAttribution[key]) return;
|
|
55
|
+
Object.defineProperty(exports, key, {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function () {
|
|
58
|
+
return _externalAttribution[key];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
50
62
|
const LINKING_ERROR = `The package '@appmetrica/react-native-analytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
51
63
|
ios: "- You have run 'pod install'\n",
|
|
52
64
|
default: ''
|
|
@@ -136,6 +148,12 @@ class AppMetrica {
|
|
|
136
148
|
static reportUserProfile(userProfile) {
|
|
137
149
|
AppMetricaNative.reportUserProfile(userProfile);
|
|
138
150
|
}
|
|
151
|
+
static putErrorEnvironmentValue(key, value) {
|
|
152
|
+
AppMetricaNative.putErrorEnvironmentValue(key, value);
|
|
153
|
+
}
|
|
154
|
+
static reportExternalAttribution(attribution) {
|
|
155
|
+
AppMetricaNative.reportExternalAttribution(attribution);
|
|
156
|
+
}
|
|
139
157
|
}
|
|
140
158
|
exports.default = AppMetrica;
|
|
141
159
|
//# 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","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"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;
|
|
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":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export class ExternalAttributions {
|
|
2
|
+
static adjust(data) {
|
|
3
|
+
return {
|
|
4
|
+
source: 'Adjust',
|
|
5
|
+
value: data
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
static airbridge(data) {
|
|
9
|
+
return {
|
|
10
|
+
source: 'Airbridge',
|
|
11
|
+
value: data
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
static appsflyer(data) {
|
|
15
|
+
return {
|
|
16
|
+
source: 'AppsFlyer',
|
|
17
|
+
value: data.data
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
static kochava(data) {
|
|
21
|
+
return {
|
|
22
|
+
source: 'Kochava',
|
|
23
|
+
value: data.raw
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
static singular(data) {
|
|
27
|
+
return {
|
|
28
|
+
source: 'Singular',
|
|
29
|
+
value: Object.fromEntries(data)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
static tenjin(data) {
|
|
33
|
+
return {
|
|
34
|
+
source: 'Tenjin',
|
|
35
|
+
value: data
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=externalAttribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ExternalAttributions","adjust","data","source","value","airbridge","appsflyer","kochava","raw","singular","Object","fromEntries","tenjin"],"sourceRoot":"../../src","sources":["externalAttribution.ts"],"mappings":"AAaA,OAAO,MAAMA,oBAAoB,CAAC;EAChC,OAAOC,MAAMA,CAACC,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOG,SAASA,CAACH,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF;IACT,CAAC;EACH;EAEA,OAAOI,SAASA,CAACJ,IAAyB,EAAuB;IAC/D,OAAO;MACLC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAEF,IAAI,CAACA;IACd,CAAC;EACH;EAEA,OAAOK,OAAOA,CAACL,IAAyB,EAAuB;IAC7D,OAAO;MACLC,MAAM,EAAE,SAAS;MACjBC,KAAK,EAAEF,IAAI,CAACM;IACd,CAAC;EACH;EAEA,OAAOC,QAAQA,CAACP,IAAyB,EAAuB;IAC9D,OAAO;MACLC,MAAM,EAAE,UAAU;MAClBC,KAAK,EAAEM,MAAM,CAACC,WAAW,CAACT,IAAI;IAChC,CAAC;EACH;EAEA,OAAOU,MAAMA,CAACV,IAAyB,EAAuB;IAC5D,OAAO;MACLC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEF;IACT,CAAC;EACH;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -29,6 +29,7 @@ export const UUID_KEY = 'appmetrica_uuid';
|
|
|
29
29
|
export * from './ecommerce';
|
|
30
30
|
export * from './revenue';
|
|
31
31
|
export * from './userProfile';
|
|
32
|
+
export * from './externalAttribution';
|
|
32
33
|
export default class AppMetrica {
|
|
33
34
|
static activate(config) {
|
|
34
35
|
if (!activated) {
|
|
@@ -92,5 +93,11 @@ export default class AppMetrica {
|
|
|
92
93
|
static reportUserProfile(userProfile) {
|
|
93
94
|
AppMetricaNative.reportUserProfile(userProfile);
|
|
94
95
|
}
|
|
96
|
+
static putErrorEnvironmentValue(key, value) {
|
|
97
|
+
AppMetricaNative.putErrorEnvironmentValue(key, value);
|
|
98
|
+
}
|
|
99
|
+
static reportExternalAttribution(attribution) {
|
|
100
|
+
AppMetricaNative.reportExternalAttribution(attribution);
|
|
101
|
+
}
|
|
95
102
|
}
|
|
96
103
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -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"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,OAAO,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;
|
|
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":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type ExternalAttributionSource = 'Adjust' | 'Airbridge' | 'AppsFlyer' | 'Kochava' | 'Singular' | 'Tenjin';
|
|
2
|
+
export interface ExternalAttribution {
|
|
3
|
+
source: ExternalAttributionSource;
|
|
4
|
+
value: Record<string, object>;
|
|
5
|
+
}
|
|
6
|
+
export declare class ExternalAttributions {
|
|
7
|
+
static adjust(data: Record<string, any>): ExternalAttribution;
|
|
8
|
+
static airbridge(data: Record<string, any>): ExternalAttribution;
|
|
9
|
+
static appsflyer(data: Record<string, any>): ExternalAttribution;
|
|
10
|
+
static kochava(data: Record<string, any>): ExternalAttribution;
|
|
11
|
+
static singular(data: Map<string, object>): ExternalAttribution;
|
|
12
|
+
static tenjin(data: Record<string, any>): ExternalAttribution;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=externalAttribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalAttribution.d.ts","sourceRoot":"","sources":["../../../src/externalAttribution.ts"],"names":[],"mappings":"AAAA,KAAK,yBAAyB,GAC1B,QAAQ,GACR,WAAW,GACX,WAAW,GACX,SAAS,GACT,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB;IAO7D,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB;IAOhE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB;IAOhE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB;IAO9D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,mBAAmB;IAO/D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,mBAAmB;CAM9D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ECommerceEvent } from './ecommerce';
|
|
2
2
|
import type { AdRevenue, Revenue } from './revenue';
|
|
3
3
|
import type { UserProfile } from './userProfile';
|
|
4
|
+
import type { ExternalAttribution } from './externalAttribution';
|
|
4
5
|
export type AppMetricaConfig = {
|
|
5
6
|
apiKey: string;
|
|
6
7
|
appVersion?: string;
|
|
@@ -18,6 +19,7 @@ export type AppMetricaConfig = {
|
|
|
18
19
|
sessionsAutoTracking?: boolean;
|
|
19
20
|
appOpenTrackingEnabled?: boolean;
|
|
20
21
|
userProfileID?: string;
|
|
22
|
+
errorEnvironment?: Record<string, string | undefined>;
|
|
21
23
|
};
|
|
22
24
|
export type PreloadInfo = {
|
|
23
25
|
trackingId: string;
|
|
@@ -45,6 +47,7 @@ export declare const UUID_KEY = "appmetrica_uuid";
|
|
|
45
47
|
export * from './ecommerce';
|
|
46
48
|
export * from './revenue';
|
|
47
49
|
export * from './userProfile';
|
|
50
|
+
export * from './externalAttribution';
|
|
48
51
|
export default class AppMetrica {
|
|
49
52
|
static activate(config: AppMetricaConfig): void;
|
|
50
53
|
static getLibraryApiLevel(): Promise<number>;
|
|
@@ -64,5 +67,7 @@ export default class AppMetrica {
|
|
|
64
67
|
static reportRevenue(revenue: Revenue): void;
|
|
65
68
|
static reportAdRevenue(adRevenue: AdRevenue): void;
|
|
66
69
|
static reportUserProfile(userProfile: UserProfile): void;
|
|
70
|
+
static putErrorEnvironmentValue(key: string, value?: string): void;
|
|
71
|
+
static reportExternalAttribution(attribution: ExternalAttribution): void;
|
|
67
72
|
}
|
|
68
73
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
type ExternalAttributionSource =
|
|
2
|
+
| 'Adjust'
|
|
3
|
+
| 'Airbridge'
|
|
4
|
+
| 'AppsFlyer'
|
|
5
|
+
| 'Kochava'
|
|
6
|
+
| 'Singular'
|
|
7
|
+
| 'Tenjin';
|
|
8
|
+
|
|
9
|
+
export interface ExternalAttribution {
|
|
10
|
+
source: ExternalAttributionSource;
|
|
11
|
+
value: Record<string, object>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class ExternalAttributions {
|
|
15
|
+
static adjust(data: Record<string, any>): ExternalAttribution {
|
|
16
|
+
return {
|
|
17
|
+
source: 'Adjust',
|
|
18
|
+
value: data,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static airbridge(data: Record<string, any>): ExternalAttribution {
|
|
23
|
+
return {
|
|
24
|
+
source: 'Airbridge',
|
|
25
|
+
value: data,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static appsflyer(data: Record<string, any>): ExternalAttribution {
|
|
30
|
+
return {
|
|
31
|
+
source: 'AppsFlyer',
|
|
32
|
+
value: data.data,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
static kochava(data: Record<string, any>): ExternalAttribution {
|
|
37
|
+
return {
|
|
38
|
+
source: 'Kochava',
|
|
39
|
+
value: data.raw,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static singular(data: Map<string, object>): ExternalAttribution {
|
|
44
|
+
return {
|
|
45
|
+
source: 'Singular',
|
|
46
|
+
value: Object.fromEntries(data),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static tenjin(data: Record<string, any>): ExternalAttribution {
|
|
51
|
+
return {
|
|
52
|
+
source: 'Tenjin',
|
|
53
|
+
value: data,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Linking, NativeModules, Platform } from 'react-native';
|
|
|
2
2
|
import type { ECommerceEvent } from './ecommerce';
|
|
3
3
|
import type { AdRevenue, Revenue } from './revenue';
|
|
4
4
|
import type { UserProfile } from './userProfile';
|
|
5
|
+
import type { ExternalAttribution } from './externalAttribution';
|
|
5
6
|
import { normalizeAdRevenue } from './utils';
|
|
6
7
|
|
|
7
8
|
const LINKING_ERROR =
|
|
@@ -54,6 +55,8 @@ export type AppMetricaConfig = {
|
|
|
54
55
|
sessionsAutoTracking?: boolean; // iOS only
|
|
55
56
|
appOpenTrackingEnabled?: boolean;
|
|
56
57
|
userProfileID?: string;
|
|
58
|
+
|
|
59
|
+
errorEnvironment?: Record<string, string | undefined>;
|
|
57
60
|
};
|
|
58
61
|
|
|
59
62
|
export type PreloadInfo = {
|
|
@@ -91,6 +94,7 @@ export const UUID_KEY = 'appmetrica_uuid';
|
|
|
91
94
|
export * from './ecommerce';
|
|
92
95
|
export * from './revenue';
|
|
93
96
|
export * from './userProfile';
|
|
97
|
+
export * from './externalAttribution';
|
|
94
98
|
|
|
95
99
|
export default class AppMetrica {
|
|
96
100
|
static activate(config: AppMetricaConfig) {
|
|
@@ -172,6 +176,14 @@ export default class AppMetrica {
|
|
|
172
176
|
}
|
|
173
177
|
|
|
174
178
|
static reportUserProfile(userProfile: UserProfile) {
|
|
175
|
-
AppMetricaNative.reportUserProfile(userProfile)
|
|
179
|
+
AppMetricaNative.reportUserProfile(userProfile);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
static putErrorEnvironmentValue(key: string, value?: string) {
|
|
183
|
+
AppMetricaNative.putErrorEnvironmentValue(key, value);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
static reportExternalAttribution(attribution: ExternalAttribution) {
|
|
187
|
+
AppMetricaNative.reportExternalAttribution(attribution);
|
|
176
188
|
}
|
|
177
189
|
}
|