react-native-radar 3.23.6 → 3.23.7-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.
@@ -1298,4 +1298,15 @@ public class RadarModuleImpl {
1298
1298
  }
1299
1299
  Radar.showInAppMessage(inAppMessage);
1300
1300
  }
1301
+
1302
+ public void setPushNotificationToken(String token) {
1303
+ Radar.setPushNotificationToken(token);
1304
+ }
1305
+
1306
+ public void isInitialized(final Promise promise) {
1307
+ if (promise == null) {
1308
+ return;
1309
+ }
1310
+ promise.resolve(Radar.isInitialized());
1311
+ }
1301
1312
  }
@@ -140,10 +140,11 @@ class RadarModule(reactContext: ReactApplicationContext) :
140
140
  return NAME
141
141
  }
142
142
 
143
- override fun initialize(publishableKey: String, fraud: Boolean): Unit {
143
+ override fun initialize(publishableKey: String, fraud: Boolean, options: ReadableMap?): Unit {
144
+ // options parameter is no-op on Android for now
144
145
  val editor = reactApplicationContext.getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit()
145
146
  editor.putString("x_platform_sdk_type", "ReactNative")
146
- editor.putString("x_platform_sdk_version", "3.23.6")
147
+ editor.putString("x_platform_sdk_version", "3.23.7-beta.2")
147
148
  editor.apply()
148
149
 
149
150
  Radar.initialize(reactApplicationContext, publishableKey, radarReceiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud, null, radarInAppMessageReceiver, currentActivity)
@@ -432,6 +433,14 @@ class RadarModule(reactContext: ReactApplicationContext) :
432
433
  radarModuleImpl.showInAppMessage(inAppMessage)
433
434
  }
434
435
 
436
+ override fun setPushNotificationToken(token: String): Unit {
437
+ radarModuleImpl.setPushNotificationToken(token)
438
+ }
439
+
440
+ override fun isInitialized(promise: Promise): Unit {
441
+ radarModuleImpl.isInitialized(promise)
442
+ }
443
+
435
444
 
436
445
  companion object {
437
446
  const val NAME = "RNRadar"
@@ -98,11 +98,12 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
98
98
  }
99
99
 
100
100
  @ReactMethod
101
- public void initialize(String publishableKey, boolean fraud) {
101
+ public void initialize(String publishableKey, boolean fraud, ReadableMap options) {
102
+ // options parameter is no-op on Android for now
102
103
  this.fraud = fraud;
103
104
  SharedPreferences.Editor editor = getReactApplicationContext().getSharedPreferences("RadarSDK", Context.MODE_PRIVATE).edit();
104
105
  editor.putString("x_platform_sdk_type", "ReactNative");
105
- editor.putString("x_platform_sdk_version", "3.23.6");
106
+ editor.putString("x_platform_sdk_version", "3.23.7-beta.2");
106
107
  editor.apply();
107
108
  Radar.initialize(getReactApplicationContext(), publishableKey, receiver, Radar.RadarLocationServicesProvider.GOOGLE, fraud, null, inAppMessageReceiver, getCurrentActivity());
108
109
  if (fraud) {
@@ -444,4 +445,14 @@ public class RadarModule extends ReactContextBaseJavaModule implements Permissio
444
445
  radarModuleImpl.showInAppMessage(inAppMessageMap);
445
446
  }
446
447
 
448
+ @ReactMethod
449
+ public void setPushNotificationToken(String token) {
450
+ radarModuleImpl.setPushNotificationToken(token);
451
+ }
452
+
453
+ @ReactMethod
454
+ public void isInitialized(final Promise promise) {
455
+ radarModuleImpl.isInitialized(promise);
456
+ }
457
+
447
458
  }
@@ -1,6 +1,6 @@
1
1
  import type { RadarPermissionsStatus, RadarTrackCallback, RadarTrackOnceOptions, RadarLocationUpdateCallback, RadarClientLocationUpdateCallback, RadarErrorCallback, RadarLogUpdateCallback, RadarEventUpdateCallback, RadarTokenUpdateCallback, RadarLogLevel, RadarMetadata, RadarTrackingOptionsDesiredAccuracy, RadarLocationCallback, RadarTrackVerifiedCallback, RadarTrackVerifiedOptions, RadarTrackingOptions, RadarVerifiedTrackingOptions, RadarMockTrackingOptions, RadarTrackingOptionsForegroundService, RadarNotificationOptions, RadarTripOptions, RadarStartTripOptions, RadarTripCallback, RadarUpdateTripOptions, RadarContextCallback, RadarSearchPlacesOptions, RadarSearchPlacesCallback, RadarSearchGeofencesCallback, RadarSearchGeofencesOptions, RadarAutocompleteOptions, RadarAddressCallback, RadarReverseGeocodeOptions, RadarGeocodeOptions, RadarValidateAddressCallback, RadarIPGeocodeCallback, RadarAddress, RadarLogConversionOptions, RadarGetDistanceOptions, RadarRouteCallback, RadarGetMatrixOptions, RadarLogConversionCallback, RadarRouteMatrix, Location, RadarNewInAppMessageCallback, RadarInAppMessageDismissedCallback, RadarInAppMessageClickedCallback, RadarInAppMessage } from "./types";
2
2
  export interface RadarNativeInterface {
3
- initialize: (publishableKey: string, fraud?: boolean) => void;
3
+ initialize: (publishableKey: string, fraud?: boolean, options?: Object | null) => void;
4
4
  setLogLevel: (level: RadarLogLevel) => void;
5
5
  setUserId: (userId: string) => void;
6
6
  getUserId: () => Promise<string>;
@@ -57,6 +57,8 @@ export interface RadarNativeInterface {
57
57
  nativeSdkVersion: () => Promise<string>;
58
58
  rnSdkVersion: () => string;
59
59
  showInAppMessage: (inAppMessage: RadarInAppMessage) => void;
60
+ setPushNotificationToken: (token: string) => void;
61
+ isInitialized: () => Promise<boolean>;
60
62
  onLocationUpdated: (callback: RadarLocationUpdateCallback | null) => void;
61
63
  onClientLocationUpdated: (callback: RadarClientLocationUpdateCallback | null) => void;
62
64
  onError: (callback: RadarErrorCallback | null) => void;
@@ -32,7 +32,7 @@ export type InAppMessageClickedEmitter = {
32
32
  inAppMessage: Object;
33
33
  };
34
34
  export interface Spec extends TurboModule {
35
- initialize(publishableKey: string, fraud: boolean): void;
35
+ initialize(publishableKey: string, fraud: boolean, options: Object | null): void;
36
36
  requestPermissions(background: boolean): Promise<string>;
37
37
  getPermissionsStatus(): Promise<string>;
38
38
  trackOnce(trackOnceOptions: Object | null): Promise<Object>;
@@ -90,6 +90,8 @@ export interface Spec extends TurboModule {
90
90
  getHost(): Promise<string>;
91
91
  getPublishableKey(): Promise<string>;
92
92
  showInAppMessage(inAppMessage: Object): void;
93
+ setPushNotificationToken(token: string): void;
94
+ isInitialized(): Promise<boolean>;
93
95
  readonly locationEmitter: EventEmitter<LocationEmitter>;
94
96
  readonly clientLocationEmitter: EventEmitter<ClientLocationEmitter>;
95
97
  readonly errorEmitter: EventEmitter<ErrorEmitter>;
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.addListener = addListener;
16
16
  const react_native_1 = require("react-native");
17
+ const react_native_2 = require("react-native");
17
18
  const version_1 = require("./version");
18
19
  const NativeRadar_1 = __importDefault(require("./NativeRadar"));
19
20
  const NativeRadar = NativeRadar_1.default;
@@ -31,7 +32,7 @@ const NativeRadar = NativeRadar_1.default;
31
32
  // },
32
33
  // });
33
34
  const compatEventEmitter = NativeRadar.locationEmitter == null
34
- ? new react_native_1.NativeEventEmitter(react_native_1.NativeModules.RNRadar)
35
+ ? new react_native_2.NativeEventEmitter(react_native_2.NativeModules.RNRadar)
35
36
  : null;
36
37
  function addListener(event, handler) {
37
38
  if (compatEventEmitter != null) {
@@ -49,8 +50,8 @@ let newInAppMessageUpdateSubscription = null;
49
50
  let inAppMessageDismissedUpdateSubscription = null;
50
51
  let inAppMessageClickedUpdateSubscription = null;
51
52
  const Radar = {
52
- initialize: (publishableKey, fraud) => {
53
- NativeRadar.initialize(publishableKey, !!fraud);
53
+ initialize: (publishableKey, fraud, options) => {
54
+ NativeRadar.initialize(publishableKey, !!fraud, options || null);
54
55
  Radar.onNewInAppMessage((inAppMessage) => {
55
56
  Radar.showInAppMessage(inAppMessage);
56
57
  });
@@ -191,6 +192,13 @@ const Radar = {
191
192
  showInAppMessage: (inAppMessage) => {
192
193
  return NativeRadar.showInAppMessage(inAppMessage);
193
194
  },
195
+ setPushNotificationToken: (token) => {
196
+ if (react_native_1.Platform.OS === 'android') {
197
+ return NativeRadar.setPushNotificationToken(token);
198
+ }
199
+ // iOS handles push notifications differently via AppDelegate
200
+ // See: https://docs.radar.com/sdk/silent-push#silent-push
201
+ },
194
202
  requestPermissions: (background) => {
195
203
  return NativeRadar.requestPermissions(background);
196
204
  },
@@ -359,5 +367,8 @@ const Radar = {
359
367
  getPublishableKey: function () {
360
368
  return NativeRadar.getPublishableKey();
361
369
  },
370
+ isInitialized: function () {
371
+ return NativeRadar.isInitialized();
372
+ },
362
373
  };
363
374
  exports.default = Radar;
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "3.23.6";
1
+ export declare const VERSION = "3.23.7-beta.2";
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 = '3.23.6';
6
+ exports.VERSION = '3.23.7-beta.2';
package/ios/RNRadar.mm CHANGED
@@ -184,10 +184,15 @@ RCT_EXPORT_MODULE()
184
184
  #endif
185
185
  }
186
186
 
187
- RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud) {
187
+ RCT_EXPORT_METHOD(initialize:(NSString *)publishableKey fraud:(BOOL)fraud options:(NSDictionary *)options) {
188
188
  [[NSUserDefaults standardUserDefaults] setObject:@"ReactNative" forKey:@"radar-xPlatformSDKType"];
189
- [[NSUserDefaults standardUserDefaults] setObject:@"3.23.6" forKey:@"radar-xPlatformSDKVersion"];
190
- [Radar initializeWithPublishableKey:publishableKey];
189
+ [[NSUserDefaults standardUserDefaults] setObject:@"3.23.7-beta.2" forKey:@"radar-xPlatformSDKVersion"];
190
+
191
+ RadarInitializeOptions *radarOptions = [[RadarInitializeOptions alloc] init];
192
+ if (options != nil && options[@"silentPush"]) {
193
+ radarOptions.silentPush = [options[@"silentPush"] boolValue];
194
+ }
195
+ [Radar initializeWithPublishableKey:publishableKey options:radarOptions];
191
196
  }
192
197
 
193
198
  RCT_EXPORT_METHOD(setLogLevel:(NSString *)level) {
@@ -1294,6 +1299,15 @@ RCT_EXPORT_METHOD(showInAppMessage:(NSDictionary *)inAppMessageDict) {
1294
1299
  }
1295
1300
  }
1296
1301
 
1302
+ RCT_EXPORT_METHOD(setPushNotificationToken:(NSString *)token) {
1303
+ // No-op on iOS - push notifications are configured differently
1304
+ // iOS uses didRegisterForRemoteNotificationsWithDeviceToken in AppDelegate
1305
+ }
1306
+
1307
+ RCT_EXPORT_METHOD(isInitialized:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
1308
+ resolve(@(Radar.isInitialized));
1309
+ }
1310
+
1297
1311
  RCT_EXPORT_METHOD(logConversion:(NSDictionary *)optionsDict resolve:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject) {
1298
1312
  if (optionsDict == nil) {
1299
1313
  if (reject) {
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.23.6",
6
+ "version": "3.23.7-beta.2",
7
7
  "main": "dist/index.js",
8
8
  "files": [
9
9
  "dist",
@@ -49,7 +49,7 @@ import type {
49
49
  } from "./types";
50
50
 
51
51
  export interface RadarNativeInterface {
52
- initialize: (publishableKey: string, fraud?: boolean) => void;
52
+ initialize: (publishableKey: string, fraud?: boolean, options?: Object | null) => void;
53
53
  setLogLevel: (level: RadarLogLevel) => void;
54
54
  setUserId: (userId: string) => void;
55
55
  getUserId: () => Promise<string>;
@@ -124,6 +124,8 @@ export interface RadarNativeInterface {
124
124
  nativeSdkVersion: () => Promise<string>;
125
125
  rnSdkVersion: () => string;
126
126
  showInAppMessage: (inAppMessage: RadarInAppMessage) => void;
127
+ setPushNotificationToken: (token: string) => void;
128
+ isInitialized: () => Promise<boolean>;
127
129
 
128
130
  onLocationUpdated: (callback: RadarLocationUpdateCallback | null) => void;
129
131
  onClientLocationUpdated: (
@@ -43,7 +43,7 @@ export type InAppMessageClickedEmitter = {
43
43
  };
44
44
 
45
45
  export interface Spec extends TurboModule {
46
- initialize(publishableKey: string, fraud: boolean): void;
46
+ initialize(publishableKey: string, fraud: boolean, options: Object | null): void;
47
47
  requestPermissions(background: boolean): Promise<string>;
48
48
  getPermissionsStatus(): Promise<string>;
49
49
  trackOnce(trackOnceOptions: Object | null): Promise<Object>;
@@ -101,6 +101,8 @@ export interface Spec extends TurboModule {
101
101
  getHost(): Promise<string>;
102
102
  getPublishableKey(): Promise<string>;
103
103
  showInAppMessage(inAppMessage: Object): void;
104
+ setPushNotificationToken(token: string): void;
105
+ isInitialized(): Promise<boolean>;
104
106
  readonly locationEmitter: EventEmitter<LocationEmitter>;
105
107
  readonly clientLocationEmitter: EventEmitter<ClientLocationEmitter>;
106
108
  readonly errorEmitter: EventEmitter<ErrorEmitter>;
@@ -1,4 +1,5 @@
1
1
  import type { EventSubscription } from "react-native";
2
+ import { Platform } from "react-native";
2
3
  import type { RadarNativeInterface } from "./@types/RadarNativeInterface";
3
4
  import type {
4
5
  RadarTrackCallback,
@@ -118,8 +119,8 @@ let inAppMessageDismissedUpdateSubscription: EventSubscription | null = null;
118
119
  let inAppMessageClickedUpdateSubscription: EventSubscription | null = null;
119
120
 
120
121
  const Radar: RadarNativeInterface = {
121
- initialize: (publishableKey: string, fraud?: boolean) => {
122
- NativeRadar.initialize(publishableKey, !!fraud);
122
+ initialize: (publishableKey: string, fraud?: boolean, options?: Object | null) => {
123
+ NativeRadar.initialize(publishableKey, !!fraud, options || null);
123
124
  Radar.onNewInAppMessage((inAppMessage) => {
124
125
  Radar.showInAppMessage(inAppMessage);
125
126
  });
@@ -317,6 +318,14 @@ const Radar: RadarNativeInterface = {
317
318
  return NativeRadar.showInAppMessage(inAppMessage);
318
319
  },
319
320
 
321
+ setPushNotificationToken: (token: string) => {
322
+ if (Platform.OS === 'android') {
323
+ return NativeRadar.setPushNotificationToken(token);
324
+ }
325
+ // iOS handles push notifications differently via AppDelegate
326
+ // See: https://docs.radar.com/sdk/silent-push#silent-push
327
+ },
328
+
320
329
  requestPermissions: (background: boolean) => {
321
330
  return NativeRadar.requestPermissions(
322
331
  background
@@ -534,6 +543,9 @@ const Radar: RadarNativeInterface = {
534
543
  getPublishableKey: function (): Promise<string> {
535
544
  return NativeRadar.getPublishableKey();
536
545
  },
546
+ isInitialized: function (): Promise<boolean> {
547
+ return NativeRadar.isInitialized();
548
+ },
537
549
  };
538
550
 
539
551
  export default Radar;
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // This file contains the version of the react-native-radar package
2
2
  // It should be updated to match the version in package.json
3
- export const VERSION = '3.23.6';
3
+ export const VERSION = '3.23.7-beta.2';