@metrixorg/react-native-plugin 1.2.0-beta08 → 1.2.0-beta12
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 100200062
|
|
12
|
+
versionName "1.2.0-beta12"
|
|
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