react-native-radar 4.0.0 → 4.1.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.
Files changed (80) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/radar/RadarModuleImpl.java +110 -0
  3. package/android/src/newarch/java/com/radar/RadarModule.kt +45 -2
  4. package/android/src/oldarch/java/com/radar/RadarModule.java +56 -2
  5. package/dist/@types/RadarNativeInterface.d.ts +9 -2
  6. package/dist/@types/types.d.ts +38 -2
  7. package/dist/NativeRadar.d.ts +8 -1
  8. package/dist/index.native.js +35 -3
  9. package/dist/index.web.d.ts +6 -0
  10. package/dist/index.web.js +17 -0
  11. package/dist/version.d.ts +1 -1
  12. package/dist/version.js +1 -1
  13. package/ios/RNRadar.mm +155 -3
  14. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/Radar.h +108 -0
  15. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarBeacon.h +10 -0
  16. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarCoordinate.h +1 -0
  17. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarGeofence.h +10 -0
  18. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarInitializeOptions.h +0 -1
  19. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDK-Swift.h +101 -7
  20. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDK.h +1 -1
  21. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDKFraudProtocol.h +26 -0
  22. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSdkConfiguration.h +23 -28
  23. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTrackingOptions.h +20 -1
  24. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTrip.h +15 -0
  25. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTripLeg.h +268 -0
  26. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTripOptions.h +6 -0
  27. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTripOrder.h +1 -1
  28. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarUser.h +2 -0
  29. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Info.plist +0 -0
  30. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.abi.json +1702 -209
  31. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +34 -9
  32. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  33. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftinterface +34 -9
  34. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/module.modulemap +0 -1
  35. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/RadarSDK +0 -0
  36. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/Radar.h +108 -0
  37. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarBeacon.h +10 -0
  38. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarCoordinate.h +1 -0
  39. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarGeofence.h +10 -0
  40. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarInitializeOptions.h +0 -1
  41. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDK-Swift.h +204 -16
  42. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDK.h +1 -1
  43. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDKFraudProtocol.h +26 -0
  44. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSdkConfiguration.h +23 -28
  45. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTrackingOptions.h +20 -1
  46. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTrip.h +15 -0
  47. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTripLeg.h +268 -0
  48. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTripOptions.h +6 -0
  49. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTripOrder.h +1 -1
  50. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarUser.h +2 -0
  51. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Info.plist +0 -0
  52. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +1702 -209
  53. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +34 -9
  54. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  55. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +34 -9
  56. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +1702 -209
  57. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +34 -9
  58. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  59. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +34 -9
  60. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/module.modulemap +0 -1
  61. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/RadarSDK +0 -0
  62. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeDirectory +0 -0
  63. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeResources +71 -60
  64. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Headers/RadarSDKMotion.h +0 -2
  65. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Info.plist +0 -0
  66. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/RadarSDKMotion +0 -0
  67. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Headers/RadarSDKMotion.h +0 -2
  68. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Info.plist +0 -0
  69. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/RadarSDKMotion +0 -0
  70. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeDirectory +0 -0
  71. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeResources +3 -3
  72. package/package.json +1 -1
  73. package/src/@types/RadarNativeInterface.ts +11 -2
  74. package/src/@types/types.ts +56 -2
  75. package/src/NativeRadar.ts +8 -1
  76. package/src/index.native.ts +42 -3
  77. package/src/index.web.js +17 -0
  78. package/src/version.ts +1 -1
  79. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/Radar-Swift.h +0 -7
  80. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/Radar-Swift.h +0 -7
@@ -1,22 +1,25 @@
1
1
  // swift-interface-format-version: 1.0
2
- // swift-compiler-version: Apple Swift version 6.2.3 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
3
- // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 6 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -module-name RadarSDK
4
- // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
2
+ // swift-compiler-version: Apple Swift version 6.3 (swiftlang-6.3.0.123.5 clang-2100.0.123.102)
3
+ // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 6 -O -enable-experimental-feature DebugDescriptionMacro -module-name RadarSDK
4
+ // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3
5
+ import CoreLocation
6
+ import CoreTelephony
5
7
  import Foundation
6
8
  import OSLog
7
9
  @_exported import RadarSDK
8
10
  import Swift
9
11
  import SwiftUI
12
+ import SystemConfiguration
13
+ import UIKit
14
+ import UserNotifications
10
15
  import _Concurrency
11
16
  import _StringProcessing
12
17
  import _SwiftConcurrencyShims
13
18
 
14
19
  @_inheritsConvenienceInitializers @available(iOS 13.0, *)
15
20
  @objc(RadarInAppMessageDelegate_Swift) @objcMembers @_Concurrency.MainActor open class RadarInAppMessageDelegate : ObjectiveC.NSObject, RadarSDK.RadarInAppMessageProtocol {
16
- #if compiler(>=5.3) && $NonescapableTypes
17
21
  @objc @available(iOS 13.0, *)
18
22
  @_Concurrency.MainActor public static func loadImage(_ url: Swift.String) async -> UIKit.UIImage?
19
- #endif
20
23
  @_Concurrency.MainActor @preconcurrency @objc open func createInAppMessageView(_ message: RadarSDK.RadarInAppMessage, onDismiss: @escaping () -> Swift.Void, onInAppMessageClicked: @escaping () -> Swift.Void, completionHandler: @escaping (UIKit.UIViewController) -> Swift.Void)
21
24
  @_Concurrency.MainActor @preconcurrency @objc open func onInAppMessageButtonClicked(_ message: RadarSDK.RadarInAppMessage)
22
25
  @_Concurrency.MainActor @preconcurrency @objc open func onInAppMessageDismissed(_ message: RadarSDK.RadarInAppMessage)
@@ -29,6 +32,32 @@ final public class RadarAPIClient : Swift.Sendable {
29
32
  public static let shared: RadarSDK.RadarAPIClient
30
33
  @objc deinit
31
34
  }
35
+ @_inheritsConvenienceInitializers @objc(RadarSyncManager) final public class RadarSyncManager : ObjectiveC.NSObject {
36
+ @objc public static func start(interval: Foundation.TimeInterval)
37
+ @objc public static func stop()
38
+ @objc public static func fetchSyncRegion()
39
+ @objc public static func shouldTrack(location: _LocationEssentials.CLLocation, options: RadarSDK.RadarTrackingOptions) -> Swift.Bool
40
+ @objc public static func isNearSyncedRegionBoundary(location: _LocationEssentials.CLLocation) -> Swift.Bool
41
+ @objc public static func isOutsideSyncedRegion(location: _LocationEssentials.CLLocation) -> Swift.Bool
42
+ @objc public static func isPoint(_ point: _LocationEssentials.CLLocation, insideCircleWithCenter center: _LocationEssentials.CLLocationCoordinate2D, radius: Swift.Double) -> Swift.Bool
43
+ @objc public static func hasSyncedRegion() -> Swift.Bool
44
+ @objc public static func hasGeofenceStateChanged(location: _LocationEssentials.CLLocation) -> Swift.Bool
45
+ @objc public static func hasBeaconStateChanged(rangedBeaconIds: Swift.Set<Swift.String>) -> Swift.Bool
46
+ @objc public static func hasPlaceStateChanged(location: _LocationEssentials.CLLocation) -> Swift.Bool
47
+ @objc public static func reconcileSyncState(user: RadarSDK.RadarUser)
48
+ @objc public static func saveBeaconState(beaconIds: [Swift.String])
49
+ @objc public static func rollbackSyncState()
50
+ @objc public static func markDwellFired(_ geofenceId: Swift.String)
51
+ @objc public static func getSyncedRegion() -> CoreLocation.CLCircularRegion?
52
+ @objc public static func getSyncedStateJSON() -> [Swift.String : Any]?
53
+ @objc public static func getObjCBeacons(for location: _LocationEssentials.CLLocation) -> [RadarSDK.RadarBeacon]
54
+ @objc override dynamic public init()
55
+ @objc deinit
56
+ }
57
+ extension RadarSDK.RadarLogLevel : Swift.Codable {
58
+ public func encode(to encoder: any Swift.Encoder) throws
59
+ public init(from decoder: any Swift.Decoder) throws
60
+ }
32
61
  @_inheritsConvenienceInitializers @objc(RadarLogger_Swift) final public class RadarLogger : ObjectiveC.NSObject, Swift.Sendable {
33
62
  @_Concurrency.MainActor @objc public static func setDelegate(_ delegate: any RadarSDK.RadarDelegate)
34
63
  @objc override dynamic public init()
@@ -54,12 +83,8 @@ final public class RadarAPIClient : Swift.Sendable {
54
83
  final public var button: RadarSDK.RadarInAppMessage_Swift.Button?
55
84
  final public var image: RadarSDK.RadarInAppMessage_Swift.Image?
56
85
  @objc final public var metadata: [Swift.String : any Swift.Sendable]
57
- #if compiler(>=5.3) && $NonescapableTypes
58
86
  public init(title: RadarSDK.RadarInAppMessage_Swift.Text, body: RadarSDK.RadarInAppMessage_Swift.Text, button: RadarSDK.RadarInAppMessage_Swift.Button?, image: RadarSDK.RadarInAppMessage_Swift.Image?, metadata: [Swift.String : any Swift.Sendable])
59
- #endif
60
- #if compiler(>=5.3) && $NonescapableTypes
61
87
  @objc override public static func fromDictionary(_ dict: [Swift.String : Any]) -> RadarSDK.RadarInAppMessage?
62
- #endif
63
88
  @objc override public static func fromArray(_ array: Any) -> [RadarSDK.RadarInAppMessage]
64
89
  @objc override final public func toDictionary() -> [Swift.String : Any]
65
90
  @objc public static func toDictionary(_ message: RadarSDK.RadarInAppMessage) -> [Swift.String : Any]
@@ -1,22 +1,25 @@
1
1
  // swift-interface-format-version: 1.0
2
- // swift-compiler-version: Apple Swift version 6.2.3 (swiftlang-6.2.3.3.21 clang-1700.6.3.2)
3
- // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 6 -enforce-exclusivity=checked -O -enable-experimental-feature DebugDescriptionMacro -module-name RadarSDK
4
- // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.2.3
2
+ // swift-compiler-version: Apple Swift version 6.3 (swiftlang-6.3.0.123.5 clang-2100.0.123.102)
3
+ // swift-module-flags: -target arm64-apple-ios12.0 -enable-objc-interop -enable-library-evolution -swift-version 6 -O -enable-experimental-feature DebugDescriptionMacro -module-name RadarSDK
4
+ // swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3
5
+ import CoreLocation
6
+ import CoreTelephony
5
7
  import Foundation
6
8
  import OSLog
7
9
  @_exported import RadarSDK
8
10
  import Swift
9
11
  import SwiftUI
12
+ import SystemConfiguration
13
+ import UIKit
14
+ import UserNotifications
10
15
  import _Concurrency
11
16
  import _StringProcessing
12
17
  import _SwiftConcurrencyShims
13
18
 
14
19
  @_inheritsConvenienceInitializers @available(iOS 13.0, *)
15
20
  @objc(RadarInAppMessageDelegate_Swift) @objcMembers @_Concurrency.MainActor open class RadarInAppMessageDelegate : ObjectiveC.NSObject, RadarSDK.RadarInAppMessageProtocol {
16
- #if compiler(>=5.3) && $NonescapableTypes
17
21
  @objc @available(iOS 13.0, *)
18
22
  @_Concurrency.MainActor public static func loadImage(_ url: Swift.String) async -> UIKit.UIImage?
19
- #endif
20
23
  @_Concurrency.MainActor @preconcurrency @objc open func createInAppMessageView(_ message: RadarSDK.RadarInAppMessage, onDismiss: @escaping () -> Swift.Void, onInAppMessageClicked: @escaping () -> Swift.Void, completionHandler: @escaping (UIKit.UIViewController) -> Swift.Void)
21
24
  @_Concurrency.MainActor @preconcurrency @objc open func onInAppMessageButtonClicked(_ message: RadarSDK.RadarInAppMessage)
22
25
  @_Concurrency.MainActor @preconcurrency @objc open func onInAppMessageDismissed(_ message: RadarSDK.RadarInAppMessage)
@@ -29,6 +32,32 @@ final public class RadarAPIClient : Swift.Sendable {
29
32
  public static let shared: RadarSDK.RadarAPIClient
30
33
  @objc deinit
31
34
  }
35
+ @_inheritsConvenienceInitializers @objc(RadarSyncManager) final public class RadarSyncManager : ObjectiveC.NSObject {
36
+ @objc public static func start(interval: Foundation.TimeInterval)
37
+ @objc public static func stop()
38
+ @objc public static func fetchSyncRegion()
39
+ @objc public static func shouldTrack(location: _LocationEssentials.CLLocation, options: RadarSDK.RadarTrackingOptions) -> Swift.Bool
40
+ @objc public static func isNearSyncedRegionBoundary(location: _LocationEssentials.CLLocation) -> Swift.Bool
41
+ @objc public static func isOutsideSyncedRegion(location: _LocationEssentials.CLLocation) -> Swift.Bool
42
+ @objc public static func isPoint(_ point: _LocationEssentials.CLLocation, insideCircleWithCenter center: _LocationEssentials.CLLocationCoordinate2D, radius: Swift.Double) -> Swift.Bool
43
+ @objc public static func hasSyncedRegion() -> Swift.Bool
44
+ @objc public static func hasGeofenceStateChanged(location: _LocationEssentials.CLLocation) -> Swift.Bool
45
+ @objc public static func hasBeaconStateChanged(rangedBeaconIds: Swift.Set<Swift.String>) -> Swift.Bool
46
+ @objc public static func hasPlaceStateChanged(location: _LocationEssentials.CLLocation) -> Swift.Bool
47
+ @objc public static func reconcileSyncState(user: RadarSDK.RadarUser)
48
+ @objc public static func saveBeaconState(beaconIds: [Swift.String])
49
+ @objc public static func rollbackSyncState()
50
+ @objc public static func markDwellFired(_ geofenceId: Swift.String)
51
+ @objc public static func getSyncedRegion() -> CoreLocation.CLCircularRegion?
52
+ @objc public static func getSyncedStateJSON() -> [Swift.String : Any]?
53
+ @objc public static func getObjCBeacons(for location: _LocationEssentials.CLLocation) -> [RadarSDK.RadarBeacon]
54
+ @objc override dynamic public init()
55
+ @objc deinit
56
+ }
57
+ extension RadarSDK.RadarLogLevel : Swift.Codable {
58
+ public func encode(to encoder: any Swift.Encoder) throws
59
+ public init(from decoder: any Swift.Decoder) throws
60
+ }
32
61
  @_inheritsConvenienceInitializers @objc(RadarLogger_Swift) final public class RadarLogger : ObjectiveC.NSObject, Swift.Sendable {
33
62
  @_Concurrency.MainActor @objc public static func setDelegate(_ delegate: any RadarSDK.RadarDelegate)
34
63
  @objc override dynamic public init()
@@ -54,12 +83,8 @@ final public class RadarAPIClient : Swift.Sendable {
54
83
  final public var button: RadarSDK.RadarInAppMessage_Swift.Button?
55
84
  final public var image: RadarSDK.RadarInAppMessage_Swift.Image?
56
85
  @objc final public var metadata: [Swift.String : any Swift.Sendable]
57
- #if compiler(>=5.3) && $NonescapableTypes
58
86
  public init(title: RadarSDK.RadarInAppMessage_Swift.Text, body: RadarSDK.RadarInAppMessage_Swift.Text, button: RadarSDK.RadarInAppMessage_Swift.Button?, image: RadarSDK.RadarInAppMessage_Swift.Image?, metadata: [Swift.String : any Swift.Sendable])
59
- #endif
60
- #if compiler(>=5.3) && $NonescapableTypes
61
87
  @objc override public static func fromDictionary(_ dict: [Swift.String : Any]) -> RadarSDK.RadarInAppMessage?
62
- #endif
63
88
  @objc override public static func fromArray(_ array: Any) -> [RadarSDK.RadarInAppMessage]
64
89
  @objc override final public func toDictionary() -> [Swift.String : Any]
65
90
  @objc public static func toDictionary(_ message: RadarSDK.RadarInAppMessage) -> [Swift.String : Any]
@@ -7,5 +7,4 @@ framework module RadarSDK {
7
7
 
8
8
  module RadarSDK.Swift {
9
9
  header "RadarSDK-Swift.h"
10
- requires objc
11
10
  }
@@ -21,6 +21,7 @@
21
21
  #import "RadarVerifiedLocationToken.h"
22
22
  #import "RadarUser.h"
23
23
  #import "RadarInitializeOptions.h"
24
+ #import "RadarTripLeg.h"
24
25
 
25
26
  NS_ASSUME_NONNULL_BEGIN
26
27
 
@@ -63,6 +64,8 @@ typedef NS_ENUM(NSInteger, RadarStatus) {
63
64
  RadarStatusErrorForbidden,
64
65
  /// Not found
65
66
  RadarStatusErrorNotFound,
67
+ /// Missing plugin
68
+ RadarStatusErrorPlugin,
66
69
  /// Too many requests (rate limit exceeded)
67
70
  RadarStatusErrorRateLimit,
68
71
  /// Internal server error
@@ -227,6 +230,15 @@ typedef void (^_Nullable RadarTrackVerifiedCompletionHandler)(RadarStatus status
227
230
  */
228
231
  typedef void (^_Nullable RadarTripCompletionHandler)(RadarStatus status, RadarTrip *_Nullable trip, NSArray<RadarEvent *> *_Nullable events);
229
232
 
233
+ /**
234
+ Called when a trip leg update succeeds, fails, or times out.
235
+
236
+ Receives the request status and, if successful, the trip, the updated leg, and an array of the events generated.
237
+
238
+ @see https://radar.com/documentation/sdk/ios
239
+ */
240
+ typedef void (^_Nullable RadarTripLegCompletionHandler)(RadarStatus status, RadarTrip *_Nullable trip, RadarTripLeg *_Nullable leg, NSArray<RadarEvent *> *_Nullable events);
241
+
230
242
  /**
231
243
  Called when a context request succeeds, fails, or times out.
232
244
 
@@ -332,6 +344,28 @@ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable r
332
344
  */
333
345
  + (void)initializeWithPublishableKey:(NSString *_Nonnull)publishableKey NS_SWIFT_NAME(initialize(publishableKey:));
334
346
 
347
+ /**
348
+ Initializes the Radar SDK.
349
+
350
+ @warning Call this method from the main thread in your `AppDelegate` class before calling any other Radar methods.
351
+
352
+ @param authToken Your auth token.
353
+ @param options Radar SDK initialization options.
354
+
355
+ @see https://radar.com/documentation/sdk/ios#initialize-sdk
356
+ */
357
+ + (void)initializeWithAuthToken:(NSString *_Nonnull)authToken options:(RadarInitializeOptions *_Nullable)options NS_SWIFT_NAME(initialize(authToken:options:));
358
+
359
+ /**
360
+ Initializes the Radar SDK.
361
+
362
+ @warning Call this method from the main thread in your `AppDelegate` class before calling any other Radar methods.
363
+
364
+ @param authToken Your auth token.
365
+ @see https://radar.com/documentation/sdk/ios#initialize-sdk
366
+ */
367
+ + (void)initializeWithAuthToken:(NSString *)authToken NS_SWIFT_NAME(initialize(authToken:));
368
+
335
369
  /**
336
370
  Initializes the Radar SDK.
337
371
 
@@ -790,6 +824,16 @@ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable r
790
824
  */
791
825
  + (RadarTripOptions *_Nullable)getTripOptions;
792
826
 
827
+ /**
828
+ Returns the current trip, including legs for multi-destination trips.
829
+ Use the legs' _id values when calling updateTripLeg.
830
+
831
+ @return The current trip, or nil if no trip is active.
832
+
833
+ @see https://radar.com/documentation/trip-tracking
834
+ */
835
+ + (RadarTrip *_Nullable)getTrip;
836
+
793
837
  /**
794
838
  Starts a trip.
795
839
 
@@ -868,6 +912,70 @@ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable r
868
912
  */
869
913
  + (void)cancelTripWithCompletionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(cancelTrip(completionHandler:));
870
914
 
915
+ /**
916
+ Updates a trip leg status for multi-destination trips.
917
+
918
+ @param tripId The Radar ID of the trip (from RadarTrip._id).
919
+ @param legId The Radar ID of the leg (from RadarTripLeg._id).
920
+ @param status The new status for the leg.
921
+ @param completionHandler An optional completion handler.
922
+
923
+ @see https://radar.com/documentation/trip-tracking
924
+ */
925
+ + (void)updateTripLegWithTripId:(NSString *_Nonnull)tripId
926
+ legId:(NSString *_Nonnull)legId
927
+ status:(RadarTripLegStatus)status
928
+ completionHandler:(RadarTripLegCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(updateTripLeg(tripId:legId:status:completionHandler:));
929
+
930
+ /**
931
+ Updates a trip leg status for multi-destination trips, using the current trip's ID.
932
+
933
+ @param legId The Radar ID of the leg (from RadarTripLeg._id).
934
+ @param status The new status for the leg.
935
+ @param completionHandler An optional completion handler.
936
+
937
+ @see https://radar.com/documentation/trip-tracking
938
+ */
939
+ + (void)updateTripLegWithLegId:(NSString *_Nonnull)legId
940
+ status:(RadarTripLegStatus)status
941
+ completionHandler:(RadarTripLegCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(updateTripLeg(legId:status:completionHandler:));
942
+
943
+ /**
944
+ Updates the current trip leg status for multi-destination trips.
945
+ Uses the current trip's ID and currentLegId automatically.
946
+
947
+ @param status The new status for the current leg.
948
+ @param completionHandler An optional completion handler.
949
+
950
+ @see https://radar.com/documentation/trip-tracking
951
+ */
952
+ + (void)updateCurrentTripLegWithStatus:(RadarTripLegStatus)status
953
+ completionHandler:(RadarTripLegCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(updateCurrentTripLeg(status:completionHandler:));
954
+
955
+ /**
956
+ Reorders the legs of a multi-destination trip.
957
+
958
+ @param tripId The Radar ID of the trip (from RadarTrip._id).
959
+ @param legIds An array of leg IDs in the desired new order.
960
+ @param completionHandler An optional completion handler.
961
+
962
+ @see https://radar.com/documentation/trip-tracking
963
+ */
964
+ + (void)reorderTripLegsWithTripId:(NSString *_Nonnull)tripId
965
+ legIds:(NSArray<NSString *> *_Nonnull)legIds
966
+ completionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(reorderTripLegs(tripId:legIds:completionHandler:));
967
+
968
+ /**
969
+ Reorders the legs of the current multi-destination trip.
970
+
971
+ @param legIds An array of leg IDs in the desired new order.
972
+ @param completionHandler An optional completion handler.
973
+
974
+ @see https://radar.com/documentation/trip-tracking
975
+ */
976
+ + (void)reorderTripLegsWithLegIds:(NSArray<NSString *> *_Nonnull)legIds
977
+ completionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(reorderTripLegs(legIds:completionHandler:));
978
+
871
979
  #pragma mark - Context
872
980
 
873
981
  /**
@@ -69,6 +69,16 @@ NS_ASSUME_NONNULL_BEGIN
69
69
 
70
70
  + (NSArray<NSDictionary *> *_Nullable)arrayForBeacons:(NSArray<RadarBeacon *> *_Nullable)beacons;
71
71
  - (NSDictionary *_Nonnull)dictionaryValue;
72
+ - (instancetype _Nullable)initWithId:(NSString *_Nonnull)_id
73
+ description:(NSString *_Nullable)description
74
+ tag:(NSString *_Nonnull)tag
75
+ externalId:(NSString *_Nonnull)externalId
76
+ uuid:(NSString *_Nonnull)uuid
77
+ major:(NSString *_Nullable)major
78
+ minor:(NSString *_Nullable)minor
79
+ metadata:(NSDictionary *_Nullable)metadata
80
+ geometry:(RadarCoordinate *_Nonnull)geometry;
81
+
72
82
 
73
83
  @end
74
84
 
@@ -19,5 +19,6 @@
19
19
  @property (assign, nonatomic, readonly) CLLocationCoordinate2D coordinate;
20
20
 
21
21
  - (NSDictionary* _Nonnull)dictionaryValue;
22
+ - (instancetype _Nullable)initWithCoordinate:(CLLocationCoordinate2D)coordinate;
22
23
 
23
24
  @end
@@ -51,6 +51,16 @@
51
51
  */
52
52
  @property (nullable, copy, nonatomic, readonly) RadarOperatingHours *operatingHours;
53
53
 
54
+ /**
55
+ The optional dwell threshold for the geofence.
56
+ */
57
+ @property (nullable, strong, nonatomic, readonly) NSNumber *dwellThreshold;
58
+
59
+ /**
60
+ The optional stop detection value for the geofence.
61
+ */
62
+ @property (nullable, strong, nonatomic, readonly) NSNumber *geofenceStopDetection;
63
+
54
64
  + (NSArray<NSDictionary *> *_Nullable)arrayForGeofences:(NSArray<RadarGeofence *> *_Nullable)geofences;
55
65
  - (NSDictionary *_Nonnull)dictionaryValue;
56
66
 
@@ -19,4 +19,3 @@
19
19
  - (instancetype _Nonnull)initWithDict:(NSDictionary *_Nullable)dict;
20
20
 
21
21
  @end
22
-