react-native-radar 3.12.3 → 3.13.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/README.md +2 -0
- package/android/build.gradle +2 -2
- package/android/src/main/java/io/radar/react/RNRadarModule.java +5 -16
- package/dist/package.json +1 -1
- package/dist/src/@types/RadarNativeInterface.d.ts +5 -2
- package/dist/src/@types/types.d.ts +1 -1
- package/dist/src/index.native.js +8 -2
- package/ios/RNRadar.m +4 -17
- package/package.json +1 -1
- package/src/@types/RadarNativeInterface.ts +4 -1
- package/src/@types/types.ts +1 -0
- package/src/index.native.ts +15 -5
package/README.md
CHANGED
|
@@ -16,6 +16,8 @@ Then, see the Radar React Native module documentation [here](https://radar.com/d
|
|
|
16
16
|
|
|
17
17
|
See an example app in `example/`.
|
|
18
18
|
|
|
19
|
+
Setup Radar public key check pre-commit hook with `cp -r hooks .git` to prevent accidental key leak when working with the Example app.
|
|
20
|
+
|
|
19
21
|
## Support
|
|
20
22
|
|
|
21
23
|
Have questions? We're here to help! Email us at [support@radar.com](mailto:support@radar.com).
|
package/android/build.gradle
CHANGED
|
@@ -18,7 +18,7 @@ android {
|
|
|
18
18
|
minSdkVersion 16
|
|
19
19
|
targetSdkVersion 31
|
|
20
20
|
versionCode 1
|
|
21
|
-
versionName '3.
|
|
21
|
+
versionName '3.13.0'
|
|
22
22
|
}
|
|
23
23
|
lintOptions {
|
|
24
24
|
abortOnError false
|
|
@@ -45,6 +45,6 @@ repositories {
|
|
|
45
45
|
|
|
46
46
|
dependencies {
|
|
47
47
|
api 'com.facebook.react:react-native:+'
|
|
48
|
-
api 'io.radar:sdk:3.13.
|
|
48
|
+
api 'io.radar:sdk:3.13.3'
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -64,6 +64,10 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
|
|
|
64
64
|
verifiedReceiver = new RNRadarVerifiedReceiver();
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
public static void onActivityCreate(Activity activity, Context context) {
|
|
68
|
+
Radar.onActivityCreate(activity, context);
|
|
69
|
+
}
|
|
70
|
+
|
|
67
71
|
@ReactMethod
|
|
68
72
|
public void addListener(String eventName) {
|
|
69
73
|
if (listenerCount == 0) {
|
|
@@ -97,7 +101,7 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
|
|
|
97
101
|
this.fraud = fraud;
|
|
98
102
|
SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
|
|
99
103
|
editor.putString("x_platform_sdk_type", "ReactNative");
|
|
100
|
-
editor.putString("x_platform_sdk_version", "3.
|
|
104
|
+
editor.putString("x_platform_sdk_version", "3.13.0");
|
|
101
105
|
editor.apply();
|
|
102
106
|
if (fraud) {
|
|
103
107
|
Radar.initialize(getReactApplicationContext(), publishableKey, receiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud);
|
|
@@ -248,21 +252,6 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
|
|
|
248
252
|
return true;
|
|
249
253
|
}
|
|
250
254
|
|
|
251
|
-
@ReactMethod
|
|
252
|
-
public void requestPermissions(boolean background, final Promise promise) {
|
|
253
|
-
PermissionAwareActivity activity = (PermissionAwareActivity)getCurrentActivity();
|
|
254
|
-
mPermissionsRequestPromise = promise;
|
|
255
|
-
if (activity != null) {
|
|
256
|
-
if (Build.VERSION.SDK_INT >= 23) {
|
|
257
|
-
if (background && Build.VERSION.SDK_INT >= 29) {
|
|
258
|
-
activity.requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
|
|
259
|
-
} else {
|
|
260
|
-
activity.requestPermissions(new String[] { Manifest.permission.ACCESS_FINE_LOCATION }, PERMISSIONS_REQUEST_CODE, this);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
|
|
266
255
|
@ReactMethod
|
|
267
256
|
public void getLocation(String desiredAccuracy, final Promise promise) {
|
|
268
257
|
|
package/dist/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "React Native module for Radar, the leading geofencing and location tracking platform",
|
|
4
4
|
"homepage": "https://radar.com",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.13.0",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"files": [
|
|
9
9
|
"android",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Location, RadarAutocompleteOptions, RadarContextCallback, RadarAddressCallback, RadarEventChannel, RadarGeocodeOptions, RadarGetDistanceOptions, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarReverseGeocodeOptions, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackOnceOptions, RadarTrackVerifiedCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarVerifiedTrackingOptions, RadarListenerCallback, RadarGetMatrixOptions, RadarMetadata, RadarIPGeocodeCallback } from "./types";
|
|
1
|
+
import { Location, RadarAutocompleteOptions, RadarContextCallback, RadarAddressCallback, RadarEventChannel, RadarGeocodeOptions, RadarGetDistanceOptions, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarReverseGeocodeOptions, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackOnceOptions, RadarTrackVerifiedCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarVerifiedTrackingOptions, RadarListenerCallback, RadarGetMatrixOptions, RadarMetadata, RadarIPGeocodeCallback, RadarLocationPermissionStatus } from "./types";
|
|
2
2
|
export interface RadarNativeInterface {
|
|
3
3
|
initialize: (publishableKey: string, fraud?: boolean) => void;
|
|
4
4
|
setLogLevel: (level: RadarLogLevel) => void;
|
|
@@ -10,7 +10,10 @@ export interface RadarNativeInterface {
|
|
|
10
10
|
getMetadata: () => Promise<RadarMetadata>;
|
|
11
11
|
setAnonymousTrackingEnabled: (enabled: boolean) => void;
|
|
12
12
|
getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
|
|
13
|
-
|
|
13
|
+
requestForegroundLocationPermission: () => void;
|
|
14
|
+
requestBackgroundLocationPermission: () => void;
|
|
15
|
+
getLocationPermissionStatus: () => Promise<RadarLocationPermissionStatus>;
|
|
16
|
+
openAppSettings: () => void;
|
|
14
17
|
getLocation: (desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy) => Promise<RadarLocationCallback>;
|
|
15
18
|
trackOnce: (options?: RadarTrackOnceOptions | Location) => Promise<RadarTrackCallback>;
|
|
16
19
|
trackVerified: (options?: RadarTrackVerifiedOptions) => Promise<RadarTrackVerifiedCallback>;
|
|
@@ -512,5 +512,5 @@ export interface RadarLocationPermissionStatusIOS {
|
|
|
512
512
|
userRejectedBackgroundPermission: boolean;
|
|
513
513
|
}
|
|
514
514
|
export type RadarLocationPermissionStatus = RadarLocationPermissionStatusAndroid | RadarLocationPermissionStatusIOS;
|
|
515
|
-
export type LocationPermissionState = "NO_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_GRANTED" | "APPROXIMATE_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_REJECTED_ONCE" | "FOREGROUND_PERMISSION_REJECTED" | "FOREGROUND_PERMISSION_PENDING" | "BACKGROUND_PERMISSION_GRANTED" | "BACKGROUND_PERMISSION_REJECTED" | "BACKGROUND_PERMISSION_REJECTED_ONCE" | "PERMISSION_RESTRICTED" | "UNKNOWN";
|
|
515
|
+
export type LocationPermissionState = "NO_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_GRANTED" | "APPROXIMATE_PERMISSION_GRANTED" | "FOREGROUND_PERMISSION_REJECTED_ONCE" | "FOREGROUND_PERMISSION_REJECTED" | "FOREGROUND_PERMISSION_PENDING" | "BACKGROUND_PERMISSION_GRANTED" | "BACKGROUND_PERMISSION_REJECTED" | "BACKGROUND_PERMISSION_REJECTED_ONCE" | "BACKGROUND_PERMISSION_PENDING" | "PERMISSION_RESTRICTED" | "UNKNOWN";
|
|
516
516
|
export type LocationManagerStatus = "NotDetermined" | "Restricted" | "Denied" | "AuthorizedAlways" | "AuthorizedWhenInUse" | "Unknown";
|
package/dist/src/index.native.js
CHANGED
|
@@ -27,7 +27,10 @@ const setMetadata = (metadata) => {
|
|
|
27
27
|
const getMetadata = () => react_native_1.NativeModules.RNRadar.getMetadata();
|
|
28
28
|
const setAnonymousTrackingEnabled = (enabled) => react_native_1.NativeModules.RNRadar.setAnonymousTrackingEnabled(enabled);
|
|
29
29
|
const getPermissionsStatus = () => react_native_1.NativeModules.RNRadar.getPermissionsStatus();
|
|
30
|
-
const
|
|
30
|
+
const requestForegroundLocationPermission = () => react_native_1.NativeModules.RNRadar.requestForegroundLocationPermission();
|
|
31
|
+
const requestBackgroundLocationPermission = () => react_native_1.NativeModules.RNRadar.requestBackgroundLocationPermission();
|
|
32
|
+
const getLocationPermissionStatus = () => react_native_1.NativeModules.RNRadar.getLocationPermissionStatus();
|
|
33
|
+
const openAppSettings = () => react_native_1.NativeModules.RNRadar.openAppSettings();
|
|
31
34
|
const getLocation = (desiredAccuracy) => react_native_1.NativeModules.RNRadar.getLocation(desiredAccuracy);
|
|
32
35
|
const trackOnce = (options) => {
|
|
33
36
|
let backCompatibleOptions = options;
|
|
@@ -95,7 +98,10 @@ const Radar = {
|
|
|
95
98
|
setAnonymousTrackingEnabled,
|
|
96
99
|
isUsingRemoteTrackingOptions,
|
|
97
100
|
getPermissionsStatus,
|
|
98
|
-
|
|
101
|
+
requestForegroundLocationPermission,
|
|
102
|
+
requestBackgroundLocationPermission,
|
|
103
|
+
getLocationPermissionStatus,
|
|
104
|
+
openAppSettings,
|
|
99
105
|
getLocation,
|
|
100
106
|
trackOnce,
|
|
101
107
|
trackVerified,
|
package/ios/RNRadar.m
CHANGED
|
@@ -44,7 +44,7 @@ RCT_EXPORT_MODULE();
|
|
|
44
44
|
} else if ([statusString isEqualToString:@"BackgroundPermissionRejected"]) {
|
|
45
45
|
newStatusString = @"BACKGROUND_PERMISSION_REJECTED";
|
|
46
46
|
} else if ([statusString isEqualToString:@"BackgroundPermissionPending"]) {
|
|
47
|
-
newStatusString = @"
|
|
47
|
+
newStatusString = @"BACKGROUND_PERMISSION_PENDING";
|
|
48
48
|
} else if ([statusString isEqualToString:@"PermissionRestricted"]) {
|
|
49
49
|
newStatusString = @"PERMISSION_RESTRICTED";
|
|
50
50
|
} else {
|
|
@@ -73,7 +73,7 @@ RCT_EXPORT_MODULE();
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
- (NSArray<NSString *> *)supportedEvents {
|
|
76
|
-
return @[@"events", @"location", @"clientLocation", @"error", @"log", @"token"];
|
|
76
|
+
return @[@"events", @"location", @"clientLocation", @"error", @"log", @"token", @"locationPermissionStatus"];
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
- (void)startObserving {
|
|
@@ -140,7 +140,7 @@ RCT_EXPORT_MODULE();
|
|
|
140
140
|
|
|
141
141
|
RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud) {
|
|
142
142
|
[[NSUserDefaults standardUserDefaults] setObject:@"ReactNative" forKey:@"radar-xPlatformSDKType"];
|
|
143
|
-
[[NSUserDefaults standardUserDefaults] setObject:@"3.
|
|
143
|
+
[[NSUserDefaults standardUserDefaults] setObject:@"3.13.0" forKey:@"radar-xPlatformSDKVersion"];
|
|
144
144
|
[Radar initializeWithPublishableKey:publishableKey];
|
|
145
145
|
}
|
|
146
146
|
|
|
@@ -226,19 +226,6 @@ RCT_REMAP_METHOD(getPermissionsStatus, getPermissionsStatusWithResolver:(RCTProm
|
|
|
226
226
|
resolve(statusStr);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
RCT_EXPORT_METHOD(requestPermissions:(BOOL)background resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
230
|
-
permissionsRequestResolver = resolve;
|
|
231
|
-
|
|
232
|
-
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
|
|
233
|
-
if (background && status == kCLAuthorizationStatusAuthorizedWhenInUse) {
|
|
234
|
-
[locationManager requestAlwaysAuthorization];
|
|
235
|
-
} else if (status == kCLAuthorizationStatusNotDetermined) {
|
|
236
|
-
[locationManager requestWhenInUseAuthorization];
|
|
237
|
-
} else {
|
|
238
|
-
[self getPermissionsStatusWithResolver:resolve rejecter:reject];
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
|
|
242
229
|
RCT_EXPORT_METHOD(getLocation:(NSString *)desiredAccuracy resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
|
|
243
230
|
__block RCTPromiseResolveBlock resolver = resolve;
|
|
244
231
|
__block RCTPromiseRejectBlock rejecter = reject;
|
|
@@ -360,7 +347,7 @@ RCT_EXPORT_METHOD(trackVerified:(NSDictionary *)optionsDict resolve:(RCTPromiseR
|
|
|
360
347
|
NSMutableDictionary *dict = [NSMutableDictionary new];
|
|
361
348
|
[dict setObject:[Radar stringForStatus:status] forKey:@"status"];
|
|
362
349
|
if (token != nil) {
|
|
363
|
-
[dict setObject:[
|
|
350
|
+
[dict setObject:[token dictionaryValue] forKey:@"token"];
|
|
364
351
|
}
|
|
365
352
|
resolver(dict);
|
|
366
353
|
} else if (rejecter) {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "React Native module for Radar, the leading geofencing and location tracking platform",
|
|
4
4
|
"homepage": "https://radar.com",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
|
-
"version": "3.
|
|
6
|
+
"version": "3.13.0",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"files": [
|
|
9
9
|
"android",
|
|
@@ -50,7 +50,10 @@ export interface RadarNativeInterface {
|
|
|
50
50
|
getMetadata: () => Promise<RadarMetadata>;
|
|
51
51
|
setAnonymousTrackingEnabled: (enabled: boolean) => void;
|
|
52
52
|
getPermissionsStatus: () => Promise<RadarPermissionsStatus>;
|
|
53
|
-
|
|
53
|
+
requestForegroundLocationPermission: () => void;
|
|
54
|
+
requestBackgroundLocationPermission: () => void;
|
|
55
|
+
getLocationPermissionStatus: () => Promise<RadarLocationPermissionStatus>;
|
|
56
|
+
openAppSettings: () => void;
|
|
54
57
|
getLocation: (
|
|
55
58
|
desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy
|
|
56
59
|
) => Promise<RadarLocationCallback>;
|
package/src/@types/types.ts
CHANGED
package/src/index.native.ts
CHANGED
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
RadarIPGeocodeCallback,
|
|
40
40
|
RadarTrackVerifiedOptions,
|
|
41
41
|
RadarTrackVerifiedCallback,
|
|
42
|
+
RadarLocationPermissionStatus,
|
|
42
43
|
} from "./@types/types";
|
|
43
44
|
|
|
44
45
|
if (
|
|
@@ -84,10 +85,16 @@ const setAnonymousTrackingEnabled = (enabled: boolean): void =>
|
|
|
84
85
|
const getPermissionsStatus = (): Promise<RadarPermissionsStatus> =>
|
|
85
86
|
NativeModules.RNRadar.getPermissionsStatus();
|
|
86
87
|
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
const requestForegroundLocationPermission = () =>
|
|
89
|
+
NativeModules.RNRadar.requestForegroundLocationPermission();
|
|
90
|
+
|
|
91
|
+
const requestBackgroundLocationPermission = () =>
|
|
92
|
+
NativeModules.RNRadar.requestBackgroundLocationPermission();
|
|
93
|
+
|
|
94
|
+
const getLocationPermissionStatus = (): Promise<RadarLocationPermissionStatus> =>
|
|
95
|
+
NativeModules.RNRadar.getLocationPermissionStatus();
|
|
96
|
+
|
|
97
|
+
const openAppSettings = () => NativeModules.RNRadar.openAppSettings()
|
|
91
98
|
|
|
92
99
|
const getLocation = (
|
|
93
100
|
desiredAccuracy?: RadarTrackingOptionsDesiredAccuracy
|
|
@@ -244,7 +251,10 @@ const Radar: RadarNativeInterface = {
|
|
|
244
251
|
setAnonymousTrackingEnabled,
|
|
245
252
|
isUsingRemoteTrackingOptions,
|
|
246
253
|
getPermissionsStatus,
|
|
247
|
-
|
|
254
|
+
requestForegroundLocationPermission,
|
|
255
|
+
requestBackgroundLocationPermission,
|
|
256
|
+
getLocationPermissionStatus,
|
|
257
|
+
openAppSettings,
|
|
248
258
|
getLocation,
|
|
249
259
|
trackOnce,
|
|
250
260
|
trackVerified,
|