react-native-radar 4.33.0 → 4.35.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/com/radar/RadarModuleImpl.java +28 -0
- package/android/src/newarch/java/com/radar/RadarModule.kt +49 -2
- package/android/src/oldarch/java/com/radar/RadarModule.java +30 -2
- package/dist/@types/RadarNativeInterface.d.ts +5 -0
- package/dist/NativeRadar.d.ts +5 -0
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.js +3 -1
- package/dist/index.native.js +15 -0
- package/dist/ui/map.jsx +32 -4
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/ios/RNRadar.h +3 -2
- package/ios/RNRadar.mm +38 -2
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/Radar.h +3 -4
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDK-Swift.h +1 -1
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSdkConfiguration.h +1 -0
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Info.plist +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.abi.json +1447 -88
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/RadarSDK +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/Radar.h +3 -4
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDK-Swift.h +2 -2
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSdkConfiguration.h +1 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Info.plist +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +1447 -88
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +1447 -88
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +36 -2
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/RadarSDK +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeResources +27 -27
- package/ios/RadarSDKMotion.xcframework/Info.plist +5 -5
- package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Info.plist +0 -0
- package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Info.plist +0 -0
- package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeResources +1 -1
- package/package.json +1 -1
- package/src/@types/RadarNativeInterface.ts +5 -0
- package/src/NativeRadar.ts +5 -0
- package/src/helpers.js +5 -1
- package/src/index.native.ts +15 -0
- package/src/ui/map.jsx +32 -4
- package/src/version.ts +1 -1
package/android/build.gradle
CHANGED
|
@@ -165,6 +165,30 @@ public class RadarModuleImpl {
|
|
|
165
165
|
promise.resolve(product);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
public void setUserLanguage(String userLanguage) {
|
|
169
|
+
Radar.setUserLanguage(userLanguage);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
public void getUserLanguage(final Promise promise) {
|
|
173
|
+
if (promise == null) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
promise.resolve(Radar.getUserLanguage());
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
public void isSharing(final Promise promise) {
|
|
181
|
+
if (promise == null) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
promise.resolve(Radar.isSharing());
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
public void clearSharing() {
|
|
189
|
+
Radar.clearSharing();
|
|
190
|
+
}
|
|
191
|
+
|
|
168
192
|
|
|
169
193
|
public void setAnonymousTrackingEnabled(boolean enabled) {
|
|
170
194
|
Radar.setAnonymousTrackingEnabled(enabled);
|
|
@@ -1169,6 +1193,10 @@ public class RadarModuleImpl {
|
|
|
1169
1193
|
Radar.ipGeocode(new Radar.RadarIpGeocodeCallback() {
|
|
1170
1194
|
|
|
1171
1195
|
public void onComplete(@NonNull Radar.RadarStatus status, @Nullable RadarAddress address, boolean proxy) {
|
|
1196
|
+
onComplete(status, address, proxy, null);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
public void onComplete(@NonNull Radar.RadarStatus status, @Nullable RadarAddress address, boolean proxy, @Nullable Throwable throwable) {
|
|
1172
1200
|
if (status == Radar.RadarStatus.SUCCESS) {
|
|
1173
1201
|
try {
|
|
1174
1202
|
WritableMap map = Arguments.createMap();
|
|
@@ -40,9 +40,12 @@ import org.json.JSONObject
|
|
|
40
40
|
@ReactModule(name = RadarModule.NAME)
|
|
41
41
|
class RadarModule(reactContext: ReactApplicationContext) :
|
|
42
42
|
NativeRadarSpec(reactContext), PermissionListener {
|
|
43
|
+
@Volatile
|
|
44
|
+
private var isInvalidated = false
|
|
43
45
|
|
|
44
46
|
private val radarReceiver = object : RadarReceiver() {
|
|
45
47
|
override fun onEventsReceived(context: Context, events: Array<RadarEvent>, user: RadarUser?) {
|
|
48
|
+
if (isInvalidated) return
|
|
46
49
|
val eventBlob = Arguments.createMap().apply {
|
|
47
50
|
var eventsArray = Arguments.createArray()
|
|
48
51
|
for (event in events) {
|
|
@@ -57,6 +60,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
override fun onLocationUpdated(context: Context, location: Location, user: RadarUser) {
|
|
63
|
+
if (isInvalidated) return
|
|
60
64
|
val eventBlob = Arguments.createMap().apply {
|
|
61
65
|
putString("location", Radar.jsonForLocation(location).toString())
|
|
62
66
|
putString("user", user.toJson().toString())
|
|
@@ -65,6 +69,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
65
69
|
}
|
|
66
70
|
|
|
67
71
|
override fun onClientLocationUpdated(context: Context, location: Location, stopped: Boolean, source: Radar.RadarLocationSource) {
|
|
72
|
+
if (isInvalidated) return
|
|
68
73
|
val eventBlob = Arguments.createMap().apply {
|
|
69
74
|
putString("location", Radar.jsonForLocation(location).toString())
|
|
70
75
|
putBoolean("stopped", stopped)
|
|
@@ -74,6 +79,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
74
79
|
}
|
|
75
80
|
|
|
76
81
|
override fun onError(context: Context, status: Radar.RadarStatus) {
|
|
82
|
+
if (isInvalidated) return
|
|
77
83
|
val eventBlob = Arguments.createMap().apply {
|
|
78
84
|
putString("status", status.toString())
|
|
79
85
|
}
|
|
@@ -81,6 +87,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
81
87
|
}
|
|
82
88
|
|
|
83
89
|
override fun onLog(context: Context, message: String) {
|
|
90
|
+
if (isInvalidated) return
|
|
84
91
|
val eventBlob = Arguments.createMap().apply {
|
|
85
92
|
putString("message", message)
|
|
86
93
|
}
|
|
@@ -90,6 +97,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
90
97
|
|
|
91
98
|
private val radarInAppMessageReceiver = object : RadarInAppMessageReceiver {
|
|
92
99
|
override fun onNewInAppMessage(message: RadarInAppMessage) {
|
|
100
|
+
if (isInvalidated) return
|
|
93
101
|
try {
|
|
94
102
|
val eventBlob = Arguments.createMap().apply {
|
|
95
103
|
putMap("inAppMessage", RadarUtils.mapForJson(JSONObject(message.toJson())))
|
|
@@ -101,6 +109,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
101
109
|
}
|
|
102
110
|
|
|
103
111
|
override fun onInAppMessageDismissed(message: RadarInAppMessage) {
|
|
112
|
+
if (isInvalidated) return
|
|
104
113
|
try {
|
|
105
114
|
val eventBlob = Arguments.createMap().apply {
|
|
106
115
|
putMap("inAppMessage", RadarUtils.mapForJson(JSONObject(message.toJson())))
|
|
@@ -112,6 +121,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
112
121
|
}
|
|
113
122
|
|
|
114
123
|
override fun onInAppMessageButtonClicked(message: RadarInAppMessage) {
|
|
124
|
+
if (isInvalidated) return
|
|
115
125
|
try {
|
|
116
126
|
val eventBlob = Arguments.createMap().apply {
|
|
117
127
|
putMap("inAppMessage", RadarUtils.mapForJson(JSONObject(message.toJson())))
|
|
@@ -125,6 +135,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
125
135
|
|
|
126
136
|
private val radarVerifiedReceiver = object : RadarVerifiedReceiver() {
|
|
127
137
|
override fun onTokenUpdated(context: Context, token: RadarVerifiedLocationToken) {
|
|
138
|
+
if (isInvalidated) return
|
|
128
139
|
val eventBlob = Arguments.createMap().apply {
|
|
129
140
|
putString("token", token.toJson().toString())
|
|
130
141
|
}
|
|
@@ -140,10 +151,26 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
140
151
|
return NAME
|
|
141
152
|
}
|
|
142
153
|
|
|
154
|
+
override fun invalidate() {
|
|
155
|
+
isInvalidated = true
|
|
156
|
+
|
|
157
|
+
// Detach from the process-level Radar singleton so this stale module
|
|
158
|
+
// instance stops receiving callbacks after its JS runtime is gone.
|
|
159
|
+
Radar.setReceiver(null)
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
Radar.setVerifiedReceiver(null)
|
|
163
|
+
} catch (e: Exception) {
|
|
164
|
+
Log.e(TAG, "Error detaching verified receiver", e)
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
super.invalidate()
|
|
168
|
+
}
|
|
169
|
+
|
|
143
170
|
override fun initialize(publishableKey: String, fraud: Boolean, options: ReadableMap?): Unit {
|
|
144
171
|
val editor = reactApplicationContext.getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit()
|
|
145
172
|
editor.putString("x_platform_sdk_type", "ReactNative")
|
|
146
|
-
editor.putString("x_platform_sdk_version", "4.
|
|
173
|
+
editor.putString("x_platform_sdk_version", "4.35.0")
|
|
147
174
|
editor.apply()
|
|
148
175
|
|
|
149
176
|
Radar.initialize(reactApplicationContext, publishableKey, radarReceiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud, null, radarInAppMessageReceiver, currentActivity)
|
|
@@ -155,7 +182,7 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
155
182
|
override fun initializeWithAuthToken(authToken: String, fraud: Boolean, options: ReadableMap?): Unit {
|
|
156
183
|
val editor = reactApplicationContext.getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit()
|
|
157
184
|
editor.putString("x_platform_sdk_type", "ReactNative")
|
|
158
|
-
editor.putString("x_platform_sdk_version", "4.
|
|
185
|
+
editor.putString("x_platform_sdk_version", "4.35.0")
|
|
159
186
|
editor.apply()
|
|
160
187
|
|
|
161
188
|
val initOptions = io.radar.sdk.RadarInitializeOptions.builder()
|
|
@@ -224,6 +251,22 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
224
251
|
radarModuleImpl.getProduct(promise)
|
|
225
252
|
}
|
|
226
253
|
|
|
254
|
+
override fun setUserLanguage(language: String?): Unit {
|
|
255
|
+
radarModuleImpl.setUserLanguage(language)
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
override fun getUserLanguage(promise: Promise): Unit {
|
|
259
|
+
radarModuleImpl.getUserLanguage(promise)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
override fun isSharing(promise: Promise): Unit {
|
|
263
|
+
radarModuleImpl.isSharing(promise)
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
override fun clearSharing(): Unit {
|
|
267
|
+
radarModuleImpl.clearSharing()
|
|
268
|
+
}
|
|
269
|
+
|
|
227
270
|
override fun setAnonymousTrackingEnabled(enabled: Boolean): Unit {
|
|
228
271
|
radarModuleImpl.setAnonymousTrackingEnabled(enabled)
|
|
229
272
|
}
|
|
@@ -456,6 +499,10 @@ class RadarModule(reactContext: ReactApplicationContext) :
|
|
|
456
499
|
radarModuleImpl.getPublishableKey(promise)
|
|
457
500
|
}
|
|
458
501
|
|
|
502
|
+
override fun getMobileOrigin(promise: Promise): Unit {
|
|
503
|
+
promise.resolve(reactApplicationContext.packageName)
|
|
504
|
+
}
|
|
505
|
+
|
|
459
506
|
override fun showInAppMessage(inAppMessage: ReadableMap): Unit {
|
|
460
507
|
radarModuleImpl.showInAppMessage(inAppMessage)
|
|
461
508
|
}
|
|
@@ -102,7 +102,7 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
|
|
|
102
102
|
this.fraud = fraud;
|
|
103
103
|
SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
|
|
104
104
|
editor.putString("x_platform_sdk_type", "ReactNative");
|
|
105
|
-
editor.putString("x_platform_sdk_version", "4.
|
|
105
|
+
editor.putString("x_platform_sdk_version", "4.35.0");
|
|
106
106
|
editor.apply();
|
|
107
107
|
Radar.initialize(getReactApplicationContext(), publishableKey, receiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud, null, inAppMessageReceiver, getCurrentActivity());
|
|
108
108
|
if (fraud) {
|
|
@@ -115,7 +115,7 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
|
|
|
115
115
|
this.fraud = fraud;
|
|
116
116
|
SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
|
|
117
117
|
editor.putString("x_platform_sdk_type", "ReactNative");
|
|
118
|
-
editor.putString("x_platform_sdk_version", "4.
|
|
118
|
+
editor.putString("x_platform_sdk_version", "4.35.0");
|
|
119
119
|
editor.apply();
|
|
120
120
|
|
|
121
121
|
io.radar.sdk.RadarInitializeOptions.Builder builder = io.radar.sdk.RadarInitializeOptions.builder()
|
|
@@ -289,6 +289,26 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
|
|
|
289
289
|
radarModuleImpl.getProduct(promise);
|
|
290
290
|
}
|
|
291
291
|
|
|
292
|
+
@ReactMethod
|
|
293
|
+
public void setUserLanguage(String userLanguage) {
|
|
294
|
+
radarModuleImpl.setUserLanguage(userLanguage);
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
@ReactMethod
|
|
298
|
+
public void getUserLanguage(final Promise promise) {
|
|
299
|
+
radarModuleImpl.getUserLanguage(promise);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
@ReactMethod
|
|
303
|
+
public void isSharing(final Promise promise) {
|
|
304
|
+
radarModuleImpl.isSharing(promise);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
@ReactMethod
|
|
308
|
+
public void clearSharing() {
|
|
309
|
+
radarModuleImpl.clearSharing();
|
|
310
|
+
}
|
|
311
|
+
|
|
292
312
|
@ReactMethod
|
|
293
313
|
public void getVerifiedLocationToken(final Promise promise) {
|
|
294
314
|
radarModuleImpl.getVerifiedLocationToken(promise);
|
|
@@ -474,6 +494,14 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
|
|
|
474
494
|
radarModuleImpl.getPublishableKey(promise);
|
|
475
495
|
}
|
|
476
496
|
|
|
497
|
+
@ReactMethod
|
|
498
|
+
public void getMobileOrigin(final Promise promise) {
|
|
499
|
+
if (promise == null) {
|
|
500
|
+
return;
|
|
501
|
+
}
|
|
502
|
+
promise.resolve(getReactApplicationContext().getPackageName());
|
|
503
|
+
}
|
|
504
|
+
|
|
477
505
|
@ReactMethod
|
|
478
506
|
public void showInAppMessage(ReadableMap inAppMessageMap) {
|
|
479
507
|
radarModuleImpl.showInAppMessage(inAppMessageMap);
|
|
@@ -15,6 +15,10 @@ export interface RadarNativeInterface {
|
|
|
15
15
|
removeTags: (tags: string[]) => void;
|
|
16
16
|
setProduct(product: string): void;
|
|
17
17
|
getProduct: () => Promise<string>;
|
|
18
|
+
setUserLanguage: (language: string | null) => void;
|
|
19
|
+
getUserLanguage: () => Promise<string | null>;
|
|
20
|
+
isSharing: () => Promise<boolean>;
|
|
21
|
+
clearSharing: () => void;
|
|
18
22
|
setAnonymousTrackingEnabled: (enabled: boolean) => void;
|
|
19
23
|
getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
|
|
20
24
|
requestPermissions: (background: boolean) => Promise<RadarPermissionsStatus>;
|
|
@@ -75,4 +79,5 @@ export interface RadarNativeInterface {
|
|
|
75
79
|
onInAppMessageClicked: (callback: RadarInAppMessageClickedCallback | null) => void;
|
|
76
80
|
getHost: () => Promise<string>;
|
|
77
81
|
getPublishableKey: () => Promise<string>;
|
|
82
|
+
getMobileOrigin: () => Promise<string>;
|
|
78
83
|
}
|
package/dist/NativeRadar.d.ts
CHANGED
|
@@ -50,6 +50,10 @@ export interface Spec extends TurboModule {
|
|
|
50
50
|
removeTags(tags: Array<string>): void;
|
|
51
51
|
setProduct(product: string): void;
|
|
52
52
|
getProduct(): Promise<string>;
|
|
53
|
+
setUserLanguage(language: string | null): void;
|
|
54
|
+
getUserLanguage(): Promise<string>;
|
|
55
|
+
isSharing(): Promise<boolean>;
|
|
56
|
+
clearSharing(): void;
|
|
53
57
|
setAnonymousTrackingEnabled(enabled: boolean): void;
|
|
54
58
|
getLocation(desiredAccuracy: string | null): Promise<Object>;
|
|
55
59
|
trackVerified(trackVerifiedOptions: Object | null): Promise<Object>;
|
|
@@ -92,6 +96,7 @@ export interface Spec extends TurboModule {
|
|
|
92
96
|
nativeSdkVersion(): Promise<string>;
|
|
93
97
|
getHost(): Promise<string>;
|
|
94
98
|
getPublishableKey(): Promise<string>;
|
|
99
|
+
getMobileOrigin(): Promise<string>;
|
|
95
100
|
showInAppMessage(inAppMessage: Object): void;
|
|
96
101
|
setPushNotificationToken(token: string): void;
|
|
97
102
|
isInitialized(): Promise<boolean>;
|
package/dist/helpers.d.ts
CHANGED
package/dist/helpers.js
CHANGED
|
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getPublishableKey = exports.getHost = void 0;
|
|
6
|
+
exports.getMobileOrigin = exports.getPublishableKey = exports.getHost = void 0;
|
|
7
7
|
const index_native_1 = __importDefault(require("./index.native"));
|
|
8
8
|
const getHost = () => (index_native_1.default.getHost());
|
|
9
9
|
exports.getHost = getHost;
|
|
10
10
|
const getPublishableKey = () => (index_native_1.default.getPublishableKey());
|
|
11
11
|
exports.getPublishableKey = getPublishableKey;
|
|
12
|
+
const getMobileOrigin = () => (index_native_1.default.getMobileOrigin());
|
|
13
|
+
exports.getMobileOrigin = getMobileOrigin;
|
package/dist/index.native.js
CHANGED
|
@@ -256,6 +256,18 @@ const Radar = {
|
|
|
256
256
|
getProduct: function () {
|
|
257
257
|
return NativeRadar.getProduct();
|
|
258
258
|
},
|
|
259
|
+
setUserLanguage: function (language) {
|
|
260
|
+
return NativeRadar.setUserLanguage(language);
|
|
261
|
+
},
|
|
262
|
+
getUserLanguage: function () {
|
|
263
|
+
return NativeRadar.getUserLanguage();
|
|
264
|
+
},
|
|
265
|
+
isSharing: function () {
|
|
266
|
+
return NativeRadar.isSharing();
|
|
267
|
+
},
|
|
268
|
+
clearSharing: function () {
|
|
269
|
+
return NativeRadar.clearSharing();
|
|
270
|
+
},
|
|
259
271
|
setAnonymousTrackingEnabled: function (enabled) {
|
|
260
272
|
return NativeRadar.setAnonymousTrackingEnabled(enabled);
|
|
261
273
|
},
|
|
@@ -388,6 +400,9 @@ const Radar = {
|
|
|
388
400
|
getPublishableKey: function () {
|
|
389
401
|
return NativeRadar.getPublishableKey();
|
|
390
402
|
},
|
|
403
|
+
getMobileOrigin: function () {
|
|
404
|
+
return NativeRadar.getMobileOrigin();
|
|
405
|
+
},
|
|
391
406
|
isInitialized: function () {
|
|
392
407
|
return NativeRadar.isInitialized();
|
|
393
408
|
},
|
package/dist/ui/map.jsx
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { View, Image } from 'react-native';
|
|
3
3
|
import Radar from '../index.native';
|
|
4
|
-
import { getHost, getPublishableKey } from '../helpers';
|
|
4
|
+
import { getHost, getPublishableKey, getMobileOrigin } from '../helpers';
|
|
5
5
|
import styles from './styles';
|
|
6
6
|
|
|
7
7
|
let MapLibreGL;
|
|
8
8
|
let MapLibreMap;
|
|
9
9
|
let GeoJSONSource;
|
|
10
10
|
let Layer;
|
|
11
|
+
let TransformRequestManager;
|
|
11
12
|
try {
|
|
12
13
|
MapLibreGL = require('@maplibre/maplibre-react-native');
|
|
13
14
|
MapLibreMap = MapLibreGL.Map;
|
|
14
15
|
GeoJSONSource = MapLibreGL.GeoJSONSource;
|
|
15
16
|
Layer = MapLibreGL.Layer;
|
|
17
|
+
TransformRequestManager = MapLibreGL.TransformRequestManager;
|
|
16
18
|
} catch (e) {
|
|
17
19
|
MapLibreGL = null;
|
|
18
20
|
MapLibreMap = null;
|
|
19
21
|
GeoJSONSource = null;
|
|
20
22
|
Layer = null;
|
|
23
|
+
TransformRequestManager = null;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
const DEFAULT_STYLE = 'radar-default-v1';
|
|
@@ -49,10 +52,35 @@ const RadarMap = ({ mapOptions, children }) => {
|
|
|
49
52
|
const [userLocation, setUserLocation] = useState(null);
|
|
50
53
|
|
|
51
54
|
useEffect(() => {
|
|
52
|
-
|
|
55
|
+
const setup = async () => {
|
|
56
|
+
const host = await getHost();
|
|
57
|
+
|
|
58
|
+
if (TransformRequestManager) {
|
|
59
|
+
try {
|
|
60
|
+
const mobileOrigin = await getMobileOrigin();
|
|
61
|
+
if (mobileOrigin) {
|
|
62
|
+
const mapHostPattern = `${host
|
|
63
|
+
.replace(/^https?:\/\//, '')
|
|
64
|
+
.replace(/\./g, '\\.')}/maps/`;
|
|
65
|
+
TransformRequestManager.addHeader({
|
|
66
|
+
id: 'radar-mobile-origin',
|
|
67
|
+
name: 'X-Radar-Mobile-Origin',
|
|
68
|
+
value: mobileOrigin,
|
|
69
|
+
match: mapHostPattern,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
} catch (err) {
|
|
73
|
+
// eslint-disable-next-line no-console
|
|
74
|
+
console.warn(`Radar SDK: Failed to set mobile origin header: ${err}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const result = await createStyleURL(mapOptions?.mapStyle || DEFAULT_STYLE);
|
|
53
79
|
setStyleURL(result);
|
|
54
|
-
}
|
|
55
|
-
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
setup();
|
|
83
|
+
}, [mapOptions?.mapStyle]);
|
|
56
84
|
|
|
57
85
|
useEffect(() => {
|
|
58
86
|
Radar.getLocation().then((result) => {
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "4.
|
|
1
|
+
export declare const VERSION = "4.35.0";
|
package/dist/version.js
CHANGED
|
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.VERSION = void 0;
|
|
4
4
|
// This file contains the version of the react-native-radar package
|
|
5
5
|
// It should be updated to match the version in package.json
|
|
6
|
-
exports.VERSION = '4.
|
|
6
|
+
exports.VERSION = '4.35.0';
|
package/ios/RNRadar.h
CHANGED
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
#import <RadarSDK/RadarSDK.h>
|
|
8
8
|
#import <React/RCTBridgeModule.h>
|
|
9
|
+
#import <React/RCTInvalidating.h>
|
|
9
10
|
|
|
10
11
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
11
|
-
@interface RNRadar : NativeRadarSpecBase <NativeRadarSpec, RadarDelegate, CLLocationManagerDelegate, RadarVerifiedDelegate, RadarInAppMessageProtocol>
|
|
12
|
+
@interface RNRadar : NativeRadarSpecBase <NativeRadarSpec, RadarDelegate, CLLocationManagerDelegate, RadarVerifiedDelegate, RadarInAppMessageProtocol, RCTInvalidating>
|
|
12
13
|
#else
|
|
13
|
-
@interface RNRadar : RCTEventEmitter <RCTBridgeModule, RadarDelegate, CLLocationManagerDelegate, RadarVerifiedDelegate, RadarInAppMessageProtocol>
|
|
14
|
+
@interface RNRadar : RCTEventEmitter <RCTBridgeModule, RadarDelegate, CLLocationManagerDelegate, RadarVerifiedDelegate, RadarInAppMessageProtocol, RCTInvalidating>
|
|
14
15
|
#endif
|
|
15
16
|
|
|
16
17
|
@end
|
package/ios/RNRadar.mm
CHANGED
|
@@ -55,6 +55,22 @@ RCT_EXPORT_MODULE()
|
|
|
55
55
|
hasListeners = NO;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
- (void)invalidate {
|
|
59
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
60
|
+
jsEventEmitterReady = NO;
|
|
61
|
+
#endif
|
|
62
|
+
hasListeners = NO;
|
|
63
|
+
|
|
64
|
+
// Detach from the process-level Radar singleton so a stale module
|
|
65
|
+
// instance doesn't continue to receive events.
|
|
66
|
+
[Radar setDelegate:nil];
|
|
67
|
+
[Radar setVerifiedDelegate:nil];
|
|
68
|
+
[Radar setInAppMessageDelegate:nil];
|
|
69
|
+
|
|
70
|
+
locationManager.delegate = nil;
|
|
71
|
+
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
|
72
|
+
}
|
|
73
|
+
|
|
58
74
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
59
75
|
- (void)setEventEmitterCallback:(EventEmitterCallbackWrapper *)eventEmitterCallbackWrapper {
|
|
60
76
|
[super setEventEmitterCallback:eventEmitterCallbackWrapper];
|
|
@@ -217,7 +233,7 @@ RCT_EXPORT_MODULE()
|
|
|
217
233
|
RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud options:(NSDictionary *)options) {
|
|
218
234
|
_publishableKey = publishableKey;
|
|
219
235
|
[[NSUserDefaults standardUserDefaults] setObject:@"ReactNative" forKey:@"radar-xPlatformSDKType"];
|
|
220
|
-
[[NSUserDefaults standardUserDefaults] setObject:@"4.
|
|
236
|
+
[[NSUserDefaults standardUserDefaults] setObject:@"4.35.0" forKey:@"radar-xPlatformSDKVersion"];
|
|
221
237
|
|
|
222
238
|
RadarInitializeOptions *radarOptions = [[RadarInitializeOptions alloc] init];
|
|
223
239
|
if (options != nil) {
|
|
@@ -240,7 +256,7 @@ RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud option
|
|
|
240
256
|
RCT_EXPORT_METHOD(initializeWithAuthToken:(NSString *)authToken fraud:(BOOL)fraud options:(NSDictionary *)options) {
|
|
241
257
|
_publishableKey = nil;
|
|
242
258
|
[[NSUserDefaults standardUserDefaults] setObject:@"ReactNative" forKey:@"radar-xPlatformSDKType"];
|
|
243
|
-
[[NSUserDefaults standardUserDefaults] setObject:@"4.
|
|
259
|
+
[[NSUserDefaults standardUserDefaults] setObject:@"4.35.0" forKey:@"radar-xPlatformSDKVersion"];
|
|
244
260
|
RadarInitializeOptions *radarOptions = [[RadarInitializeOptions alloc] init];
|
|
245
261
|
if (options != nil) {
|
|
246
262
|
id silentPushValue = options[@"silentPush"];
|
|
@@ -323,6 +339,22 @@ RCT_EXPORT_METHOD(getProduct:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseR
|
|
|
323
339
|
resolve([Radar getProduct]);
|
|
324
340
|
}
|
|
325
341
|
|
|
342
|
+
RCT_EXPORT_METHOD(setUserLanguage:(NSString *)userLanguage) {
|
|
343
|
+
[Radar setUserLanguage:userLanguage];
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
RCT_EXPORT_METHOD(getUserLanguage:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
347
|
+
resolve([Radar getUserLanguage]);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
RCT_EXPORT_METHOD(isSharing:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
351
|
+
resolve(@([Radar isSharing]));
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
RCT_EXPORT_METHOD(clearSharing) {
|
|
355
|
+
[Radar clearSharing];
|
|
356
|
+
}
|
|
357
|
+
|
|
326
358
|
RCT_EXPORT_METHOD(setAnonymousTrackingEnabled:(BOOL)enabled) {
|
|
327
359
|
[Radar setAnonymousTrackingEnabled:enabled];
|
|
328
360
|
}
|
|
@@ -335,6 +367,10 @@ RCT_EXPORT_METHOD(getPublishableKey:(RCTPromiseResolveBlock)resolve reject:(RCTP
|
|
|
335
367
|
resolve(_publishableKey);
|
|
336
368
|
}
|
|
337
369
|
|
|
370
|
+
RCT_EXPORT_METHOD(getMobileOrigin:(RCTPromiseResolveBlock) resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
371
|
+
resolve([[NSBundle mainBundle] bundleIdentifier]);
|
|
372
|
+
}
|
|
373
|
+
|
|
338
374
|
RCT_EXPORT_METHOD(getPermissionsStatus:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
339
375
|
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
|
|
340
376
|
NSString *statusStr;
|
|
@@ -1323,8 +1323,7 @@ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable r
|
|
|
1323
1323
|
|
|
1324
1324
|
@see https://radar.com/documentation/api#ip-geocode
|
|
1325
1325
|
*/
|
|
1326
|
-
+ (void)ipGeocodeWithCompletionHandler:(RadarIPGeocodeCompletionHandler)completionHandler
|
|
1327
|
-
__attribute__((deprecated("Use ipGeocodeWithErrorCompletionHandler: to also receive the underlying NSError on network/parse errors.")));
|
|
1326
|
+
+ (void)ipGeocodeWithCompletionHandler:(RadarIPGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(ipGeocode(completionHandler:));
|
|
1328
1327
|
|
|
1329
1328
|
/**
|
|
1330
1329
|
Geocodes the device's current IP address, converting IP address to partial address. The completion handler also receives the underlying NSError when the failure originated from a caught network, parse, or exception error — forward it to an error collector (Sentry, Crashlytics, etc.) to capture diagnostics.
|
|
@@ -1333,8 +1332,8 @@ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable r
|
|
|
1333
1332
|
|
|
1334
1333
|
@see https://radar.com/documentation/api#ip-geocode
|
|
1335
1334
|
*/
|
|
1336
|
-
+ (void)ipGeocodeWithErrorCompletionHandler:(RadarIPGeocodeWithErrorCompletionHandler)completionHandler
|
|
1337
|
-
|
|
1335
|
+
+ (void)ipGeocodeWithErrorCompletionHandler:(RadarIPGeocodeWithErrorCompletionHandler)completionHandler
|
|
1336
|
+
NS_SWIFT_NAME(ipGeocode(completionHandler:)) NS_SWIFT_DISABLE_ASYNC;
|
|
1338
1337
|
|
|
1339
1338
|
/**
|
|
1340
1339
|
Validates an address, attaching a verification status, property type, and ZIP+4.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#if 0
|
|
2
2
|
#elif defined(__arm64__) && __arm64__
|
|
3
|
-
// Generated by Apple Swift version 6.3.
|
|
3
|
+
// Generated by Apple Swift version 6.3.3 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
|
4
4
|
#ifndef RADARSDK_SWIFT_H
|
|
5
5
|
#define RADARSDK_SWIFT_H
|
|
6
6
|
#pragma clang diagnostic push
|
package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSdkConfiguration.h
CHANGED
|
@@ -42,6 +42,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
42
42
|
- (NSArray<RadarRemoteTrackingOptions *> *_Nullable)remoteTrackingOptions;
|
|
43
43
|
- (instancetype)initWithDict:(NSDictionary *_Nullable)dict;
|
|
44
44
|
- (NSDictionary *)dictionaryValue;
|
|
45
|
+
+ (RadarSdkConfiguration *_Nullable)current;
|
|
45
46
|
@end
|
|
46
47
|
|
|
47
48
|
/**
|
|
Binary file
|