react-native-radar 3.10.3 → 3.10.4-beta.2

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.
@@ -18,7 +18,7 @@ android {
18
18
  minSdkVersion 16
19
19
  targetSdkVersion 31
20
20
  versionCode 1
21
- versionName '3.10.3'
21
+ versionName '3.10.4-beta.2'
22
22
  }
23
23
  lintOptions {
24
24
  abortOnError false
@@ -42,6 +42,8 @@ import org.json.JSONObject;
42
42
 
43
43
  import java.util.EnumSet;
44
44
  import java.util.Map;
45
+ import android.content.SharedPreferences;
46
+ import android.content.Context;
45
47
 
46
48
  public class RNRadarModule extends ReactContextBaseJavaModule implements PermissionListener {
47
49
 
@@ -53,11 +55,14 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
53
55
  private RNRadarVerifiedReceiver verifiedReceiver;
54
56
  private int listenerCount = 0;
55
57
  private boolean fraud = false;
58
+ private final ReactApplicationContext reactContext;
59
+
56
60
 
57
61
  public RNRadarModule(ReactApplicationContext reactContext) {
58
62
  super(reactContext);
59
63
  receiver = new RNRadarReceiver();
60
64
  verifiedReceiver = new RNRadarVerifiedReceiver();
65
+ this.reactContext = reactContext;
61
66
  }
62
67
 
63
68
  @ReactMethod
@@ -98,6 +103,10 @@ public class RNRadarModule extends ReactContextBaseJavaModule implements Permiss
98
103
  Radar.initialize(getReactApplicationContext(), publishableKey);
99
104
  Radar.setReceiver(receiver);
100
105
  }
106
+ SharedPreferences sharedPref = reactContext.getSharedPreferences("RadarSDK", Context.MODE_PRIVATE);
107
+ SharedPreferences.Editor editor = sharedPref.edit();
108
+ editor.putString("x_platform_sdk_version", "3.10.4-beta.2");
109
+ editor.apply();
101
110
  }
102
111
 
103
112
  @ReactMethod
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.10.3",
6
+ "version": "3.10.4-beta.2",
7
7
  "main": "dist/src/index.js",
8
8
  "files": [
9
9
  "android",
@@ -1,6 +1,6 @@
1
1
  import { Location, RadarAutocompleteOptions, RadarContextCallback, RadarAddressCallback, RadarEventChannel, RadarGetDistanceOptions, RadarLocationCallback, RadarLogConversionCallback, RadarLogConversionOptions, RadarLogLevel, RadarMockTrackingOptions, RadarNotificationOptions, RadarPermissionsStatus, RadarRouteCallback, RadarRouteMatrix, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarSearchPlacesCallback, RadarSearchPlacesOptions, RadarStartTripOptions, RadarTrackCallback, RadarTrackOnceOptions, RadarTrackTokenCallback, RadarTrackingOptions, RadarTrackingOptionsDesiredAccuracy, RadarTrackingOptionsForegroundService, RadarTrackVerifiedOptions, RadarTripCallback, RadarTripOptions, RadarUpdateTripOptions, RadarVerifiedTrackingOptions, RadarListenerCallback, RadarGetMatrixOptions, RadarMetadata, RadarIPGeocodeCallback } from "./types";
2
2
  export interface RadarNativeInterface {
3
- initialize: (publishableKey: string, fraud: boolean) => void;
3
+ initialize: (publishableKey: string, fraud?: boolean) => void;
4
4
  setLogLevel: (level: RadarLogLevel) => void;
5
5
  setUserId: (userId: string) => void;
6
6
  getUserId: () => Promise<string>;
@@ -36,6 +36,15 @@ export interface RadarTrackingOptions {
36
36
  syncGeofencesLimit?: number;
37
37
  foregroundServiceEnabled?: boolean;
38
38
  }
39
+ export declare const presetContinuousIOS: RadarTrackingOptions;
40
+ export declare const presetContinuousAndroid: RadarTrackingOptions;
41
+ export declare const presetContinuous: RadarTrackingOptions;
42
+ export declare const presetResponsiveIOS: RadarTrackingOptions;
43
+ export declare const presetResponsiveAndroid: RadarTrackingOptions;
44
+ export declare const presetResponsive: RadarTrackingOptions;
45
+ export declare const presetEfficientIOS: RadarTrackingOptions;
46
+ export declare const presetEfficientAndroid: RadarTrackingOptions;
47
+ export declare const presetEfficient: RadarTrackingOptions;
39
48
  export interface RadarMockTrackingOptions {
40
49
  origin: Location;
41
50
  destination: Location;
@@ -446,5 +455,7 @@ export interface RadarTrackingOptionsForegroundService {
446
455
  importance?: number;
447
456
  id?: number;
448
457
  channelName?: string;
458
+ iconString?: string;
459
+ iconColor?: string;
449
460
  }
450
461
  export type RadarTripStatus = "unknown" | "started" | "approaching" | "arrived" | "expired" | "completed" | "canceled";
@@ -1,6 +1,139 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RadarEventVerification = exports.RadarEventConfidence = void 0;
3
+ exports.RadarEventVerification = exports.RadarEventConfidence = exports.presetEfficient = exports.presetEfficientAndroid = exports.presetEfficientIOS = exports.presetResponsive = exports.presetResponsiveAndroid = exports.presetResponsiveIOS = exports.presetContinuous = exports.presetContinuousAndroid = exports.presetContinuousIOS = void 0;
4
+ const react_native_1 = require("react-native");
5
+ exports.presetContinuousIOS = {
6
+ desiredStoppedUpdateInterval: 30,
7
+ desiredMovingUpdateInterval: 30,
8
+ desiredSyncInterval: 20,
9
+ desiredAccuracy: 'high',
10
+ stopDuration: 140,
11
+ stopDistance: 70,
12
+ replay: 'none',
13
+ useStoppedGeofence: false,
14
+ showBlueBar: true,
15
+ startTrackingAfter: undefined,
16
+ stopTrackingAfter: undefined,
17
+ stoppedGeofenceRadius: 0,
18
+ useMovingGeofence: false,
19
+ movingGeofenceRadius: 0,
20
+ syncGeofences: true,
21
+ useVisits: false,
22
+ useSignificantLocationChanges: false,
23
+ beacons: false,
24
+ sync: 'all',
25
+ };
26
+ exports.presetContinuousAndroid = {
27
+ desiredStoppedUpdateInterval: 30,
28
+ fastestStoppedUpdateInterval: 30,
29
+ desiredMovingUpdateInterval: 30,
30
+ fastestMovingUpdateInterval: 30,
31
+ desiredSyncInterval: 20,
32
+ desiredAccuracy: 'high',
33
+ stopDuration: 140,
34
+ stopDistance: 70,
35
+ replay: 'none',
36
+ sync: 'all',
37
+ useStoppedGeofence: false,
38
+ stoppedGeofenceRadius: 0,
39
+ useMovingGeofence: false,
40
+ movingGeofenceRadius: 0,
41
+ syncGeofences: true,
42
+ syncGeofencesLimit: 0,
43
+ foregroundServiceEnabled: true,
44
+ beacons: false,
45
+ startTrackingAfter: undefined,
46
+ stopTrackingAfter: undefined,
47
+ };
48
+ exports.presetContinuous = react_native_1.Platform.OS === 'ios' ? exports.presetContinuousIOS : exports.presetContinuousAndroid;
49
+ exports.presetResponsiveIOS = {
50
+ desiredStoppedUpdateInterval: 0,
51
+ desiredMovingUpdateInterval: 150,
52
+ desiredSyncInterval: 20,
53
+ desiredAccuracy: 'medium',
54
+ stopDuration: 140,
55
+ stopDistance: 70,
56
+ replay: 'stops',
57
+ useStoppedGeofence: true,
58
+ showBlueBar: false,
59
+ startTrackingAfter: undefined,
60
+ stopTrackingAfter: undefined,
61
+ stoppedGeofenceRadius: 100,
62
+ useMovingGeofence: true,
63
+ movingGeofenceRadius: 100,
64
+ syncGeofences: true,
65
+ useVisits: true,
66
+ useSignificantLocationChanges: true,
67
+ beacons: false,
68
+ sync: 'all',
69
+ };
70
+ exports.presetResponsiveAndroid = {
71
+ desiredStoppedUpdateInterval: 0,
72
+ fastestStoppedUpdateInterval: 0,
73
+ desiredMovingUpdateInterval: 150,
74
+ fastestMovingUpdateInterval: 30,
75
+ desiredSyncInterval: 20,
76
+ desiredAccuracy: "medium",
77
+ stopDuration: 140,
78
+ stopDistance: 70,
79
+ replay: 'stops',
80
+ sync: 'all',
81
+ useStoppedGeofence: true,
82
+ stoppedGeofenceRadius: 100,
83
+ useMovingGeofence: true,
84
+ movingGeofenceRadius: 100,
85
+ syncGeofences: true,
86
+ syncGeofencesLimit: 10,
87
+ foregroundServiceEnabled: false,
88
+ beacons: false,
89
+ startTrackingAfter: undefined,
90
+ stopTrackingAfter: undefined,
91
+ };
92
+ exports.presetResponsive = react_native_1.Platform.OS === 'ios' ? exports.presetResponsiveIOS : exports.presetResponsiveAndroid;
93
+ exports.presetEfficientIOS = {
94
+ desiredStoppedUpdateInterval: 0,
95
+ desiredMovingUpdateInterval: 0,
96
+ desiredSyncInterval: 0,
97
+ desiredAccuracy: "medium",
98
+ stopDuration: 0,
99
+ stopDistance: 0,
100
+ replay: 'stops',
101
+ useStoppedGeofence: false,
102
+ showBlueBar: false,
103
+ startTrackingAfter: undefined,
104
+ stopTrackingAfter: undefined,
105
+ stoppedGeofenceRadius: 0,
106
+ useMovingGeofence: false,
107
+ movingGeofenceRadius: 0,
108
+ syncGeofences: true,
109
+ useVisits: true,
110
+ useSignificantLocationChanges: false,
111
+ beacons: false,
112
+ sync: 'all',
113
+ };
114
+ exports.presetEfficientAndroid = {
115
+ desiredStoppedUpdateInterval: 3600,
116
+ fastestStoppedUpdateInterval: 1200,
117
+ desiredMovingUpdateInterval: 1200,
118
+ fastestMovingUpdateInterval: 360,
119
+ desiredSyncInterval: 140,
120
+ desiredAccuracy: 'medium',
121
+ stopDuration: 140,
122
+ stopDistance: 70,
123
+ replay: 'stops',
124
+ sync: 'all',
125
+ useStoppedGeofence: false,
126
+ stoppedGeofenceRadius: 0,
127
+ useMovingGeofence: false,
128
+ movingGeofenceRadius: 0,
129
+ syncGeofences: true,
130
+ syncGeofencesLimit: 10,
131
+ foregroundServiceEnabled: false,
132
+ beacons: false,
133
+ startTrackingAfter: undefined,
134
+ stopTrackingAfter: undefined,
135
+ };
136
+ exports.presetEfficient = react_native_1.Platform.OS === 'ios' ? exports.presetEfficientIOS : exports.presetEfficientAndroid;
4
137
  var RadarEventConfidence;
5
138
  (function (RadarEventConfidence) {
6
139
  RadarEventConfidence[RadarEventConfidence["none"] = 0] = "none";
package/ios/RNRadar.m CHANGED
@@ -99,7 +99,8 @@ RCT_EXPORT_MODULE();
99
99
  }
100
100
 
101
101
  RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud) {
102
- [Radar initializeWithPublishableKey:publishableKey];
102
+ [Radar initializeWithPublishableKey:publishableKey];
103
+ [[NSUserDefaults standardUserDefaults] setObject:@"3.10.4-beta.2" forKey:@"radar-xPlatformSDKVersion"];
103
104
  }
104
105
 
105
106
  RCT_EXPORT_METHOD(setLogLevel:(NSString *)level) {
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.10.3",
6
+ "version": "3.10.4-beta.2",
7
7
  "main": "dist/src/index.js",
8
8
  "files": [
9
9
  "android",
@@ -37,7 +37,7 @@ import {
37
37
  } from "./types";
38
38
 
39
39
  export interface RadarNativeInterface {
40
- initialize: (publishableKey: string, fraud: boolean) => void;
40
+ initialize: (publishableKey: string, fraud?: boolean) => void;
41
41
  setLogLevel: (level: RadarLogLevel) => void;
42
42
  setUserId: (userId: string) => void;
43
43
  getUserId: () => Promise<string>;
@@ -1,3 +1,5 @@
1
+ import { Platform } from 'react-native';
2
+
1
3
  export type RadarMetadata = Record<string, string | number | boolean>;
2
4
 
3
5
  export interface RadarTrackOnceOptions {
@@ -40,6 +42,150 @@ export interface RadarTrackingOptions {
40
42
  foregroundServiceEnabled?: boolean;
41
43
  }
42
44
 
45
+
46
+
47
+ export const presetContinuousIOS: RadarTrackingOptions = {
48
+ desiredStoppedUpdateInterval: 30,
49
+ desiredMovingUpdateInterval: 30,
50
+ desiredSyncInterval: 20,
51
+ desiredAccuracy:'high',
52
+ stopDuration: 140,
53
+ stopDistance: 70,
54
+ replay: 'none',
55
+ useStoppedGeofence: false,
56
+ showBlueBar: true,
57
+ startTrackingAfter: undefined,
58
+ stopTrackingAfter: undefined,
59
+ stoppedGeofenceRadius: 0,
60
+ useMovingGeofence: false,
61
+ movingGeofenceRadius: 0,
62
+ syncGeofences: true,
63
+ useVisits: false,
64
+ useSignificantLocationChanges: false,
65
+ beacons: false,
66
+ sync: 'all',
67
+ };
68
+
69
+ export const presetContinuousAndroid: RadarTrackingOptions = {
70
+ desiredStoppedUpdateInterval: 30,
71
+ fastestStoppedUpdateInterval: 30,
72
+ desiredMovingUpdateInterval: 30,
73
+ fastestMovingUpdateInterval: 30,
74
+ desiredSyncInterval: 20,
75
+ desiredAccuracy: 'high',
76
+ stopDuration: 140,
77
+ stopDistance: 70,
78
+ replay: 'none',
79
+ sync: 'all',
80
+ useStoppedGeofence: false,
81
+ stoppedGeofenceRadius: 0,
82
+ useMovingGeofence: false,
83
+ movingGeofenceRadius: 0,
84
+ syncGeofences: true,
85
+ syncGeofencesLimit: 0,
86
+ foregroundServiceEnabled: true,
87
+ beacons: false,
88
+ startTrackingAfter: undefined,
89
+ stopTrackingAfter: undefined,
90
+ };
91
+
92
+ export const presetContinuous: RadarTrackingOptions = Platform.OS === 'ios' ? presetContinuousIOS : presetContinuousAndroid;
93
+
94
+ export const presetResponsiveIOS: RadarTrackingOptions = {
95
+ desiredStoppedUpdateInterval: 0,
96
+ desiredMovingUpdateInterval: 150,
97
+ desiredSyncInterval: 20,
98
+ desiredAccuracy:'medium',
99
+ stopDuration: 140,
100
+ stopDistance: 70,
101
+ replay: 'stops',
102
+ useStoppedGeofence: true,
103
+ showBlueBar: false,
104
+ startTrackingAfter: undefined,
105
+ stopTrackingAfter: undefined,
106
+ stoppedGeofenceRadius: 100,
107
+ useMovingGeofence: true,
108
+ movingGeofenceRadius: 100,
109
+ syncGeofences: true,
110
+ useVisits: true,
111
+ useSignificantLocationChanges: true,
112
+ beacons: false,
113
+ sync: 'all',
114
+ };
115
+
116
+ export const presetResponsiveAndroid: RadarTrackingOptions = {
117
+ desiredStoppedUpdateInterval: 0,
118
+ fastestStoppedUpdateInterval: 0,
119
+ desiredMovingUpdateInterval: 150,
120
+ fastestMovingUpdateInterval: 30,
121
+ desiredSyncInterval: 20,
122
+ desiredAccuracy:"medium",
123
+ stopDuration: 140,
124
+ stopDistance: 70,
125
+ replay: 'stops',
126
+ sync: 'all',
127
+ useStoppedGeofence: true,
128
+ stoppedGeofenceRadius: 100,
129
+ useMovingGeofence: true,
130
+ movingGeofenceRadius: 100,
131
+ syncGeofences: true,
132
+ syncGeofencesLimit: 10,
133
+ foregroundServiceEnabled: false,
134
+ beacons: false,
135
+ startTrackingAfter: undefined,
136
+ stopTrackingAfter: undefined,
137
+ };
138
+
139
+ export const presetResponsive: RadarTrackingOptions = Platform.OS === 'ios' ? presetResponsiveIOS : presetResponsiveAndroid;
140
+
141
+ export const presetEfficientIOS: RadarTrackingOptions = {
142
+ desiredStoppedUpdateInterval: 0,
143
+ desiredMovingUpdateInterval: 0,
144
+ desiredSyncInterval: 0,
145
+ desiredAccuracy: "medium",
146
+ stopDuration: 0,
147
+ stopDistance: 0,
148
+ replay: 'stops',
149
+ useStoppedGeofence: false,
150
+ showBlueBar: false,
151
+ startTrackingAfter: undefined,
152
+ stopTrackingAfter: undefined,
153
+ stoppedGeofenceRadius: 0,
154
+ useMovingGeofence: false,
155
+ movingGeofenceRadius: 0,
156
+ syncGeofences: true,
157
+ useVisits: true,
158
+ useSignificantLocationChanges: false,
159
+ beacons: false,
160
+ sync: 'all',
161
+ };
162
+
163
+ export const presetEfficientAndroid: RadarTrackingOptions = {
164
+ desiredStoppedUpdateInterval: 3600,
165
+ fastestStoppedUpdateInterval: 1200,
166
+ desiredMovingUpdateInterval: 1200,
167
+ fastestMovingUpdateInterval: 360,
168
+ desiredSyncInterval: 140,
169
+ desiredAccuracy: 'medium',
170
+ stopDuration: 140,
171
+ stopDistance: 70,
172
+ replay: 'stops',
173
+ sync: 'all',
174
+ useStoppedGeofence: false,
175
+ stoppedGeofenceRadius: 0,
176
+ useMovingGeofence: false,
177
+ movingGeofenceRadius: 0,
178
+ syncGeofences: true,
179
+ syncGeofencesLimit: 10,
180
+ foregroundServiceEnabled: false,
181
+ beacons: false,
182
+ startTrackingAfter: undefined,
183
+ stopTrackingAfter: undefined,
184
+ };
185
+
186
+ export const presetEfficient: RadarTrackingOptions = Platform.OS === 'ios' ? presetEfficientIOS : presetEfficientAndroid;
187
+
188
+
43
189
  export interface RadarMockTrackingOptions {
44
190
  origin: Location;
45
191
  destination: Location;
@@ -584,6 +730,8 @@ export interface RadarTrackingOptionsForegroundService {
584
730
  importance?: number;
585
731
  id?: number;
586
732
  channelName?: string;
733
+ iconString?: string;
734
+ iconColor?: string;
587
735
  }
588
736
 
589
737
  export type RadarTripStatus =
@@ -47,6 +47,7 @@ if (
47
47
  }
48
48
 
49
49
  const eventEmitter = new NativeEventEmitter(NativeModules.RNRadar);
50
+
50
51
  const initialize = (publishableKey: string, fraud: boolean = false): void => {
51
52
  NativeModules.RNRadar.initialize(publishableKey, fraud);
52
53
  };