@metrixorg/react-native-plugin 1.2.0-beta07 → 1.2.0-beta11
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
CHANGED
|
@@ -8,8 +8,8 @@ android {
|
|
|
8
8
|
defaultConfig {
|
|
9
9
|
minSdkVersion 16
|
|
10
10
|
targetSdkVersion 28
|
|
11
|
-
versionCode
|
|
12
|
-
versionName "1.2.0-
|
|
11
|
+
versionCode 100200061
|
|
12
|
+
versionName "1.2.0-beta11"
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
buildTypes {
|
|
@@ -29,6 +29,6 @@ rootProject.allprojects {
|
|
|
29
29
|
|
|
30
30
|
dependencies {
|
|
31
31
|
implementation 'com.facebook.react:react-native:+'
|
|
32
|
-
implementation 'ir.metrix:metrix-reactnative:1.2.0-
|
|
32
|
+
implementation 'ir.metrix:metrix-reactnative:1.2.0-beta7'
|
|
33
33
|
|
|
34
34
|
}
|
|
@@ -12,6 +12,9 @@ import com.facebook.react.bridge.ReactMethod;
|
|
|
12
12
|
import com.facebook.react.bridge.ReadableMap;
|
|
13
13
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
14
14
|
import com.facebook.react.bridge.WritableMap;
|
|
15
|
+
|
|
16
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
17
|
+
|
|
15
18
|
import android.util.Log;
|
|
16
19
|
|
|
17
20
|
import java.util.HashMap;
|
|
@@ -22,6 +25,8 @@ import ir.metrix.messaging.RevenueCurrency;
|
|
|
22
25
|
import ir.metrix.OnAttributionChangeListener;
|
|
23
26
|
import ir.metrix.OnDeeplinkResponseListener;
|
|
24
27
|
import ir.metrix.UserIdListener;
|
|
28
|
+
import ir.metrix.session.SessionIdListener;
|
|
29
|
+
import ir.metrix.session.SessionNumberListener;
|
|
25
30
|
|
|
26
31
|
public class MetrixModule extends ReactContextBaseJavaModule {
|
|
27
32
|
|
|
@@ -94,62 +99,63 @@ public class MetrixModule extends ReactContextBaseJavaModule {
|
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
@ReactMethod
|
|
97
|
-
public void
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
102
|
+
public void setSessionNumberListener() {
|
|
103
|
+
ir.metrix.Metrix.setSessionNumberListener(
|
|
104
|
+
new SessionNumberListener() {
|
|
105
|
+
@Override
|
|
106
|
+
public void onSessionNumberChanged(int sessionNumber) {
|
|
107
|
+
sendStringEvent("onSessionNumberChangedListener", String.valueOf(sessionNumber));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
);
|
|
101
111
|
}
|
|
102
112
|
|
|
103
113
|
@ReactMethod
|
|
104
|
-
public void
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
114
|
+
public void setSessionIdListener() {
|
|
115
|
+
ir.metrix.Metrix.setSessionIdListener(
|
|
116
|
+
new SessionIdListener() {
|
|
117
|
+
@Override
|
|
118
|
+
public void onSessionIdChanged(String sessionId) {
|
|
119
|
+
sendStringEvent("onSessionIdChangedListener", sessionId);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
);
|
|
108
123
|
}
|
|
109
124
|
|
|
110
125
|
@ReactMethod
|
|
111
|
-
public void setOnAttributionChangedListener(
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
126
|
+
public void setOnAttributionChangedListener() {
|
|
127
|
+
ir.metrix.Metrix.setOnAttributionChangedListener(
|
|
128
|
+
new OnAttributionChangeListener() {
|
|
129
|
+
@Override
|
|
130
|
+
public void onAttributionChanged(AttributionData attributionData) {
|
|
131
|
+
WritableMap map = getWritableMapFromAttributionModel(attributionData);
|
|
132
|
+
|
|
133
|
+
sendObjectEvent("onAttributionChangedListener", map);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
124
136
|
}
|
|
125
137
|
|
|
126
138
|
@ReactMethod
|
|
127
|
-
public void setUserIdListener(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
}
|
|
139
|
+
public void setUserIdListener() {
|
|
140
|
+
ir.metrix.Metrix.setUserIdListener(
|
|
141
|
+
new UserIdListener() {
|
|
142
|
+
@Override
|
|
143
|
+
public void onUserIdReceived(String userId) {
|
|
144
|
+
sendStringEvent("onUserIdListener", userId);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
138
147
|
}
|
|
139
148
|
|
|
140
149
|
@ReactMethod
|
|
141
|
-
public void setOnDeeplinkResponseListener(final boolean shouldLaunchDeeplink
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
150
|
+
public void setOnDeeplinkResponseListener(final boolean shouldLaunchDeeplink) {
|
|
151
|
+
ir.metrix.Metrix.setOnDeeplinkResponseListener(
|
|
152
|
+
new OnDeeplinkResponseListener() {
|
|
153
|
+
@Override
|
|
154
|
+
public boolean launchReceivedDeeplink(Uri deeplink) {
|
|
155
|
+
sendStringEvent("onDeeplinkResponseListener", deeplink.toString());
|
|
156
|
+
return shouldLaunchDeeplink;
|
|
157
|
+
}
|
|
158
|
+
});
|
|
153
159
|
}
|
|
154
160
|
|
|
155
161
|
private WritableMap getWritableMapFromAttributionModel(AttributionData attributionData) {
|
|
@@ -177,4 +183,16 @@ public class MetrixModule extends ReactContextBaseJavaModule {
|
|
|
177
183
|
}
|
|
178
184
|
return map;
|
|
179
185
|
}
|
|
186
|
+
|
|
187
|
+
private void sendObjectEvent(String eventName, WritableMap param) {
|
|
188
|
+
getReactApplicationContext()
|
|
189
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
190
|
+
.emit(eventName, param);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
private void sendStringEvent(String eventName, String param) {
|
|
194
|
+
getReactApplicationContext()
|
|
195
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
196
|
+
.emit(eventName, param);
|
|
197
|
+
}
|
|
180
198
|
}
|
package/index.js
CHANGED
|
@@ -22,39 +22,29 @@ Metrix.setPushToken = function(token) {
|
|
|
22
22
|
module_metrix.setPushToken(token);
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
Metrix.
|
|
26
|
-
|
|
25
|
+
Metrix.setSessionNumberListener = function(callback) {
|
|
26
|
+
eventEmitter.addListener('onSessionNumberChangedListener', callback);
|
|
27
|
+
module_metrix.setSessionNumberListener();
|
|
27
28
|
};
|
|
28
29
|
|
|
29
|
-
Metrix.
|
|
30
|
-
|
|
30
|
+
Metrix.setSessionIdListener = function(callback) {
|
|
31
|
+
eventEmitter.addListener('onSessionIdChangedListener', callback);
|
|
32
|
+
module_metrix.setSessionIdListener();
|
|
31
33
|
};
|
|
32
34
|
|
|
33
35
|
Metrix.setOnAttributionChangedListener = function(callback) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} else {
|
|
37
|
-
eventEmitter.addListener('onAttributionChangedListener', callback);
|
|
38
|
-
module_metrix.setOnAttributionChangedListener();
|
|
39
|
-
}
|
|
36
|
+
eventEmitter.addListener('onAttributionChangedListener', callback);
|
|
37
|
+
module_metrix.setOnAttributionChangedListener();
|
|
40
38
|
};
|
|
41
39
|
|
|
42
40
|
Metrix.setOnDeeplinkResponseListener = function(callback) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
} else {
|
|
46
|
-
eventEmitter.addListener('onDeeplinkResponseListener', callback);
|
|
47
|
-
module_metrix.setOnDeeplinkResponseListener(this.shouldLaunchDeeplink);
|
|
48
|
-
}
|
|
41
|
+
eventEmitter.addListener('onDeeplinkResponseListener', callback);
|
|
42
|
+
module_metrix.setOnDeeplinkResponseListener(this.shouldLaunchDeeplink);
|
|
49
43
|
};
|
|
50
44
|
|
|
51
45
|
Metrix.setUserIdListener = function(callback) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
} else {
|
|
55
|
-
eventEmitter.addListener('onUserIdListener', callback);
|
|
56
|
-
module_metrix.setUserIdListener();
|
|
57
|
-
}
|
|
46
|
+
eventEmitter.addListener('onUserIdListener', callback);
|
|
47
|
+
module_metrix.setUserIdListener();
|
|
58
48
|
};
|
|
59
49
|
|
|
60
50
|
Metrix.newEvent = function(eventName, customAttributes) {
|
package/ios/RNMetrixModule.m
CHANGED
|
@@ -25,7 +25,7 @@ BOOL hasAttributionListener;
|
|
|
25
25
|
|
|
26
26
|
- (NSArray<NSString *> *)supportedEvents
|
|
27
27
|
{
|
|
28
|
-
return @[@"onAttributionChangedListener", @"onUserIdListener", @"onDeeplinkResponseListener"];
|
|
28
|
+
return @[@"onAttributionChangedListener", @"onUserIdListener", @"onDeeplinkResponseListener", @"onSessionNumberChangedListener", @"onSessionIdChangedListener"];
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
RCT_EXPORT_METHOD(initialize:(NSString *)appId) {
|
|
@@ -36,14 +36,16 @@ RCT_EXPORT_METHOD(setPushToken:(NSString *)token) {
|
|
|
36
36
|
[Metrix setPushTokenWithPushToken:token];
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
RCT_EXPORT_METHOD(
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
RCT_EXPORT_METHOD(setSessionNumberListener) {
|
|
40
|
+
[Metrix setSessionNumberListener:^(NSInteger sessionNumber) {
|
|
41
|
+
[self sendEventWithName:@"onSessionNumberChangedListener" body:[NSString stringWithFormat: @"%ld", (long)sessionNumber]];
|
|
42
|
+
}];
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
RCT_EXPORT_METHOD(
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
RCT_EXPORT_METHOD(setSessionIdListener) {
|
|
46
|
+
[Metrix setSessionIdListener:^(NSString *sessionId) {
|
|
47
|
+
[self sendEventWithName:@"onSessionIdChangedListener" body:sessionId];
|
|
48
|
+
}];
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
RCT_EXPORT_METHOD(newCustomEvent:(NSString *)eventName attributes:(NSDictionary *)attributes) {
|
package/package.json
CHANGED
package/CHANGELOG.md
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Metrix SDK Unity plugin Changelog
|
|
2
|
-
|
|
3
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
4
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
5
|
-
|
|
6
|
-
## [Pre-release] [1.2.0-beta07] - 2021-11-16
|
|
7
|
-
|
|
8
|
-
### Changed
|
|
9
|
-
- Use Android SDK v1.2.0-beta5
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
## [Pre-release] [1.2.0-beta06] - 2021-08-31
|
|
13
|
-
|
|
14
|
-
### Added
|
|
15
|
-
- Added iOS plugin using native SDK v2.0.0-beta06
|
|
16
|
-
|
|
17
|
-
### Fixed
|
|
18
|
-
- Fixed revenue API not supporting orderId without currency
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## [Pre-release] [1.2.0-beta05] - 2021-08-25
|
|
22
|
-
|
|
23
|
-
### Changed
|
|
24
|
-
- Use Android SDK v1.2.0-beta4
|
|
25
|
-
- Use iOS SDK v2.0.0-beta04
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## [Pre-release] [1.2.0-beta03] - 2021-07-28
|
|
29
|
-
|
|
30
|
-
### Changed
|
|
31
|
-
- Use Android SDK v1.2.0-beta3
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
## [1.1.4] - 2021-06-02
|
|
35
|
-
|
|
36
|
-
### Changed
|
|
37
|
-
- Use Android SDK v1.1.3
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
## [1.1.3] - 2021-05-26
|
|
41
|
-
|
|
42
|
-
### Changed
|
|
43
|
-
- Use Android SDK v1.1.2
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
## [1.1.2] - 2021-05-17
|
|
47
|
-
|
|
48
|
-
### Changed
|
|
49
|
-
- Use Android SDK v1.1.1
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
## [1.1.1] - 2021-05-07
|
|
53
|
-
|
|
54
|
-
### Changed
|
|
55
|
-
- Use `mavenCentral` repository for Android native SDK retrieval.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
## [1.1.0] - 2021-04-10
|
|
59
|
-
|
|
60
|
-
### Changed
|
|
61
|
-
- Use Android SDK v1.1.0
|
|
62
|
-
- [BREAKING] App config API methods are now used only for iOS builds. The config is now retrieved from application manifest file for Android builds.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
## [1.0.5] - 2021-03-07
|
|
66
|
-
|
|
67
|
-
### Changed
|
|
68
|
-
- Use Android SDK v1.0.5
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
## [1.0.4] - 2021-03-06
|
|
72
|
-
|
|
73
|
-
### Changed
|
|
74
|
-
- Use Android SDK v1.0.4
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
## [1.0.1] - 2021-02-20
|
|
78
|
-
|
|
79
|
-
### Changed
|
|
80
|
-
- Use Android SDK v1.0.1
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
## [1.0.0] - 2021-01-15
|
|
84
|
-
|
|
85
|
-
### Added
|
|
86
|
-
- Use Android SDK v1.0.0
|