react-native-radar 3.30.0-beta.1 → 3.30.0-beta.3

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 (141) hide show
  1. package/android/src/newarch/java/com/radar/RadarModule.kt +1 -1
  2. package/android/src/oldarch/java/com/radar/RadarModule.java +1 -1
  3. package/dist/version.d.ts +1 -1
  4. package/dist/version.js +1 -1
  5. package/ios/RNRadar.mm +1 -1
  6. package/ios/RadarSDK.xcframework/Info.plist +0 -4
  7. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/Radar-Swift.h +7 -0
  8. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/Radar.h +1380 -0
  9. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarAddress.h +172 -0
  10. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarBeacon.h +75 -0
  11. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarChain.h +44 -0
  12. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarCircleGeometry.h +27 -0
  13. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarContext.h +65 -0
  14. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarCoordinate.h +23 -0
  15. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarDelegate.h +67 -0
  16. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarEvent.h +209 -0
  17. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarFraud.h +73 -0
  18. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarGeofence.h +57 -0
  19. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarGeofenceGeometry.h +15 -0
  20. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarInAppMessage.h +18 -0
  21. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarInAppMessageDelegate.h +53 -0
  22. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarIndoorsProtocol.h +23 -0
  23. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarInitializeOptions.h +22 -0
  24. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarMotionProtocol.h +28 -0
  25. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarOperatingHours.h +15 -0
  26. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarPlace.h +85 -0
  27. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarPolygonGeometry.h +31 -0
  28. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRegion.h +82 -0
  29. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRoute.h +42 -0
  30. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRouteDistance.h +31 -0
  31. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRouteDuration.h +31 -0
  32. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRouteGeometry.h +28 -0
  33. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRouteMatrix.h +34 -0
  34. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRouteMode.h +32 -0
  35. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarRoutes.h +54 -0
  36. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDK-Swift.h +364 -0
  37. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSDK.h +45 -0
  38. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSdkConfiguration.h +56 -0
  39. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarSegment.h +32 -0
  40. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTimeZone.h +52 -0
  41. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTrackingOptions.h +204 -0
  42. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTrip.h +97 -0
  43. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTripOptions.h +75 -0
  44. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarTripOrder.h +91 -0
  45. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarUser.h +164 -0
  46. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarVerifiedDelegate.h +31 -0
  47. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Headers/RadarVerifiedLocationToken.h +66 -0
  48. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Info.plist +0 -0
  49. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.abi.json +3608 -0
  50. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +82 -0
  51. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  52. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios.swiftinterface +82 -0
  53. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/Modules/module.modulemap +11 -0
  54. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/PrivacyInfo.xcprivacy +106 -0
  55. package/ios/RadarSDK.xcframework/ios-arm64/RadarSDK.framework/RadarSDK +0 -0
  56. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/Radar-Swift.h +7 -0
  57. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/Radar.h +1380 -0
  58. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarAddress.h +172 -0
  59. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarBeacon.h +75 -0
  60. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarChain.h +44 -0
  61. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarCircleGeometry.h +27 -0
  62. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarContext.h +65 -0
  63. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarCoordinate.h +23 -0
  64. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarDelegate.h +67 -0
  65. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarEvent.h +209 -0
  66. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarFraud.h +73 -0
  67. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarGeofence.h +57 -0
  68. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarGeofenceGeometry.h +15 -0
  69. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarInAppMessage.h +18 -0
  70. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarInAppMessageDelegate.h +53 -0
  71. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarIndoorsProtocol.h +23 -0
  72. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarInitializeOptions.h +22 -0
  73. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarMotionProtocol.h +28 -0
  74. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarOperatingHours.h +15 -0
  75. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarPlace.h +85 -0
  76. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarPolygonGeometry.h +31 -0
  77. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRegion.h +82 -0
  78. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRoute.h +42 -0
  79. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRouteDistance.h +31 -0
  80. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRouteDuration.h +31 -0
  81. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRouteGeometry.h +28 -0
  82. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRouteMatrix.h +34 -0
  83. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRouteMode.h +32 -0
  84. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarRoutes.h +54 -0
  85. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDK-Swift.h +724 -0
  86. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSDK.h +45 -0
  87. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSdkConfiguration.h +56 -0
  88. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarSegment.h +32 -0
  89. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTimeZone.h +52 -0
  90. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTrackingOptions.h +204 -0
  91. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTrip.h +97 -0
  92. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTripOptions.h +75 -0
  93. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarTripOrder.h +91 -0
  94. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarUser.h +164 -0
  95. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarVerifiedDelegate.h +31 -0
  96. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Headers/RadarVerifiedLocationToken.h +66 -0
  97. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Info.plist +0 -0
  98. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +3608 -0
  99. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +82 -0
  100. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  101. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +82 -0
  102. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +3608 -0
  103. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +82 -0
  104. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  105. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/RadarSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +82 -0
  106. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/Modules/module.modulemap +11 -0
  107. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/PrivacyInfo.xcprivacy +106 -0
  108. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/RadarSDK +0 -0
  109. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeDirectory +0 -0
  110. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeRequirements +0 -0
  111. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeResources +685 -0
  112. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/RadarSDK.framework/_CodeSignature/CodeSignature +0 -0
  113. package/ios/RadarSDKMotion.xcframework/Info.plist +5 -9
  114. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Headers/RadarSDKMotion.h +38 -0
  115. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Info.plist +0 -0
  116. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/Modules/module.modulemap +6 -0
  117. package/ios/RadarSDKMotion.xcframework/ios-arm64/RadarSDKMotion.framework/RadarSDKMotion +0 -0
  118. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Headers/RadarSDKMotion.h +38 -0
  119. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Info.plist +0 -0
  120. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/Modules/module.modulemap +6 -0
  121. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/RadarSDKMotion +0 -0
  122. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeDirectory +0 -0
  123. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeRequirements +0 -0
  124. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeResources +124 -0
  125. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/RadarSDKMotion.framework/_CodeSignature/CodeSignature +0 -0
  126. package/package.json +1 -1
  127. package/src/version.ts +1 -1
  128. package/ios/RadarSDK.xcframework/ios-arm64/dSYMs/RadarSDK.framework.dSYM/Contents/Info.plist +0 -20
  129. package/ios/RadarSDK.xcframework/ios-arm64/dSYMs/RadarSDK.framework.dSYM/Contents/Resources/DWARF/RadarSDK +0 -0
  130. package/ios/RadarSDK.xcframework/ios-arm64/dSYMs/RadarSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/RadarSDK.yml +0 -1810
  131. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDK.framework.dSYM/Contents/Info.plist +0 -20
  132. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDK.framework.dSYM/Contents/Resources/DWARF/RadarSDK +0 -0
  133. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/RadarSDK.yml +0 -1795
  134. package/ios/RadarSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/RadarSDK.yml +0 -1814
  135. package/ios/RadarSDKMotion.xcframework/ios-arm64/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Info.plist +0 -20
  136. package/ios/RadarSDKMotion.xcframework/ios-arm64/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Resources/DWARF/RadarSDKMotion +0 -0
  137. package/ios/RadarSDKMotion.xcframework/ios-arm64/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Resources/Relocations/aarch64/RadarSDKMotion.yml +0 -23
  138. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Info.plist +0 -20
  139. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Resources/DWARF/RadarSDKMotion +0 -0
  140. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Resources/Relocations/aarch64/RadarSDKMotion.yml +0 -23
  141. package/ios/RadarSDKMotion.xcframework/ios-arm64_x86_64-simulator/dSYMs/RadarSDKMotion.framework.dSYM/Contents/Resources/Relocations/x86_64/RadarSDKMotion.yml +0 -23
@@ -0,0 +1,1380 @@
1
+ //
2
+ // Radar.h
3
+ // RadarSDK
4
+ //
5
+ // Copyright © 2019 Radar Labs, Inc. All rights reserved.
6
+ //
7
+
8
+ #import <CoreLocation/CoreLocation.h>
9
+ #import <Foundation/Foundation.h>
10
+ #import <UIKit/UIKit.h>
11
+ #import <UserNotifications/UserNotifications.h>
12
+
13
+ #import "RadarAddress.h"
14
+ #import "RadarContext.h"
15
+ #import "RadarEvent.h"
16
+ #import "RadarRegion.h"
17
+ #import "RadarRouteMatrix.h"
18
+ #import "RadarRouteMode.h"
19
+ #import "RadarRoutes.h"
20
+ #import "RadarTrackingOptions.h"
21
+ #import "RadarVerifiedLocationToken.h"
22
+ #import "RadarUser.h"
23
+ #import "RadarInitializeOptions.h"
24
+
25
+ NS_ASSUME_NONNULL_BEGIN
26
+
27
+ @protocol RadarDelegate;
28
+ @protocol RadarVerifiedDelegate;
29
+ @protocol RadarMotionProtocol;
30
+ @protocol RadarInAppMessageProtocol;
31
+ @protocol RadarIndoorsProtocol;
32
+
33
+ @class RadarTripOptions;
34
+ @class RadarInAppMessage;
35
+
36
+ #pragma mark - Enums
37
+
38
+ /**
39
+ The status types for a request.
40
+
41
+ @see https://radar.com/documentation/sdk/ios#foreground-tracking
42
+ */
43
+ typedef NS_ENUM(NSInteger, RadarStatus) {
44
+ /// Success
45
+ RadarStatusSuccess,
46
+ /// SDK not initialized
47
+ RadarStatusErrorPublishableKey,
48
+ /// Location permissions not granted
49
+ RadarStatusErrorPermissions,
50
+ /// Location services error or timeout (20 seconds)
51
+ RadarStatusErrorLocation,
52
+ /// Beacon ranging error or timeout (5 seconds)
53
+ RadarStatusErrorBluetooth,
54
+ /// Network error or timeout (10 seconds)
55
+ RadarStatusErrorNetwork,
56
+ /// Bad request (missing or invalid params)
57
+ RadarStatusErrorBadRequest,
58
+ /// Unauthorized (invalid API key)
59
+ RadarStatusErrorUnauthorized,
60
+ /// Payment required (organization disabled or usage exceeded)
61
+ RadarStatusErrorPaymentRequired,
62
+ /// Forbidden (insufficient permissions or no beta access)
63
+ RadarStatusErrorForbidden,
64
+ /// Not found
65
+ RadarStatusErrorNotFound,
66
+ /// Too many requests (rate limit exceeded)
67
+ RadarStatusErrorRateLimit,
68
+ /// Internal server error
69
+ RadarStatusErrorServer,
70
+ /// Unknown error
71
+ RadarStatusErrorUnknown
72
+ };
73
+
74
+ /**
75
+ The sources for location updates.
76
+ */
77
+ typedef NS_ENUM(NSInteger, RadarLocationSource) {
78
+ /// Foreground
79
+ RadarLocationSourceForegroundLocation,
80
+ /// Background
81
+ RadarLocationSourceBackgroundLocation,
82
+ /// Manual
83
+ RadarLocationSourceManualLocation,
84
+ /// Visit arrival
85
+ RadarLocationSourceVisitArrival,
86
+ /// Visit departure
87
+ RadarLocationSourceVisitDeparture,
88
+ /// Geofence enter
89
+ RadarLocationSourceGeofenceEnter,
90
+ /// Geofence exit
91
+ RadarLocationSourceGeofenceExit,
92
+ /// Mock
93
+ RadarLocationSourceMockLocation,
94
+ /// Beacon enter
95
+ RadarLocationSourceBeaconEnter,
96
+ /// Beacon exit
97
+ RadarLocationSourceBeaconExit,
98
+ /// Unknown
99
+ RadarLocationSourceUnknown
100
+ };
101
+
102
+ /**
103
+ The levels for debug logs.
104
+ */
105
+ typedef NS_ENUM(NSInteger, RadarLogLevel) {
106
+ /// None
107
+ RadarLogLevelNone = 0,
108
+ /// Error
109
+ RadarLogLevelError = 1,
110
+ /// Warning
111
+ RadarLogLevelWarning = 2,
112
+ /// Info
113
+ RadarLogLevelInfo = 3,
114
+ /// Debug
115
+ RadarLogLevelDebug = 4
116
+ };
117
+
118
+ /**
119
+ The classification type for debug logs.
120
+ */
121
+ typedef NS_ENUM(NSInteger, RadarLogType) {
122
+ /// None
123
+ RadarLogTypeNone = 0,
124
+ /// SDK Call
125
+ RadarLogTypeSDKCall = 1,
126
+ /// SDK Error
127
+ RadarLogTypeSDKError = 2,
128
+ /// SDK Exception
129
+ RadarLogTypeSDKException = 3,
130
+ /// App Lifecycle Event
131
+ RadarLogTypeAppLifecycleEvent = 4,
132
+ /// Permission Event
133
+ RadarLogTypePermissionEvent = 5,
134
+ };
135
+
136
+ /**
137
+ The distance units for routes.
138
+
139
+ @see https://radar.com/documentation/api#routing
140
+ */
141
+ typedef NS_ENUM(NSInteger, RadarRouteUnits) {
142
+ /// Imperial (feet)
143
+ RadarRouteUnitsImperial NS_SWIFT_NAME(imperial),
144
+ /// Metric (meters)
145
+ RadarRouteUnitsMetric NS_SWIFT_NAME(metric)
146
+ };
147
+
148
+ /**
149
+ Verification status enum for RadarAddress with values 'V', 'P', 'A', 'R', and 'U'
150
+
151
+ @see https://radar.com/documentation/api#address-verification
152
+ */
153
+ typedef NS_ENUM(NSInteger, RadarAddressVerificationStatus) {
154
+ /// Unknown
155
+ RadarAddressVerificationStatusNone NS_SWIFT_NAME(none) = 0,
156
+ /// Verified: complete match was made between the input data and a single record from the available reference data
157
+ RadarAddressVerificationStatusVerified NS_SWIFT_NAME(verified) = 1,
158
+ /// Partially verified: a partial match was made between the input data and a single record from the available reference data
159
+ RadarAddressVerificationStatusPartiallyVerified NS_SWIFT_NAME(partiallyVerified) = 2,
160
+ /// Ambiguous: more than one close reference data match
161
+ RadarAddressVerificationStatusAmbiguous NS_SWIFT_NAME(ambiguous) = 3,
162
+ /// Unverified: unable to verify. The output fields will contain the input data
163
+ RadarAddressVerificationStatusUnverified NS_SWIFT_NAME(unverified) = 4
164
+ };
165
+
166
+ typedef NS_ENUM(NSInteger, RadarActivityType) {
167
+ /// Unknown
168
+ RadarActivityTypeUnknown NS_SWIFT_NAME(unknown) = 0,
169
+ /// Stationary
170
+ RadarActivityTypeStationary NS_SWIFT_NAME(stationary) = 1,
171
+ /// Walking
172
+ RadarActivityTypeFoot NS_SWIFT_NAME(foot) = 2,
173
+ /// Running
174
+ RadarActivityTypeRun NS_SWIFT_NAME(run) = 3,
175
+ /// Biking
176
+ RadarActivityTypeBike NS_SWIFT_NAME(bike) = 4,
177
+ /// Driving
178
+ RadarActivityTypeCar NS_SWIFT_NAME(car) = 5,
179
+ };
180
+
181
+ #pragma mark - Callbacks
182
+
183
+ /**
184
+ Called when a location request succeeds, fails, or times out.
185
+
186
+ Receives the request status and, if successful, the location.
187
+
188
+ @see https://radar.com/documentation/sdk/ios#get-location
189
+ */
190
+ typedef void (^_Nullable RadarLocationCompletionHandler)(RadarStatus status, CLLocation *_Nullable location, BOOL stopped);
191
+
192
+ /**
193
+ Called when a beacon ranging request succeeds, fails, or times out.
194
+
195
+ Receives the request status and, if successful, the nearby beacons.
196
+
197
+ @see https://radar.com/documentation/beacons
198
+ */
199
+ typedef void (^_Nullable RadarBeaconCompletionHandler)(RadarStatus status, NSArray<RadarBeacon *> *_Nullable beacons);
200
+
201
+ /**
202
+ Called when a track request succeeds, fails, or times out.
203
+
204
+ Receives the request status and, if successful, the user's location, an array of the events generated, and the user.
205
+
206
+ @see https://radar.com/documentation/sdk/ios
207
+ */
208
+ typedef void (^_Nullable RadarTrackCompletionHandler)(RadarStatus status, CLLocation *_Nullable location, NSArray<RadarEvent *> *_Nullable events, RadarUser *_Nullable user);
209
+
210
+ typedef void (^_Nullable RadarFlushReplaysCompletionHandler)(RadarStatus status, NSDictionary *_Nullable res);
211
+
212
+ /**
213
+ Called when a track verified request succeeds, fails, or times out.
214
+
215
+ Receives the request status and, if successful, the user's verified location. Verify the token server-side using your secret key.
216
+
217
+ @see https://radar.com/documentation/sdk/fraud
218
+ */
219
+ typedef void (^_Nullable RadarTrackVerifiedCompletionHandler)(RadarStatus status, RadarVerifiedLocationToken *_Nullable token);
220
+
221
+ /**
222
+ Called when a trip update succeeds, fails, or times out.
223
+
224
+ Receives the request status and, if successful, the trip and an array of the events generated.
225
+
226
+ @see https://radar.com/documentation/sdk/ios
227
+ */
228
+ typedef void (^_Nullable RadarTripCompletionHandler)(RadarStatus status, RadarTrip *_Nullable trip, NSArray<RadarEvent *> *_Nullable events);
229
+
230
+ /**
231
+ Called when a context request succeeds, fails, or times out.
232
+
233
+ Receives the request status and, if successful, the location and the context.
234
+
235
+ @see https://radar.com/documentation/api#context
236
+ */
237
+ typedef void (^_Nonnull RadarContextCompletionHandler)(RadarStatus status, CLLocation *_Nullable location, RadarContext *_Nullable context);
238
+
239
+ /**
240
+ Called when a place search request succeeds, fails, or times out.
241
+
242
+ Receives the request status and, if successful, the location and an array of places sorted by distance.
243
+
244
+ @see https://radar.com/documentation/api#search-places
245
+ */
246
+ typedef void (^_Nonnull RadarSearchPlacesCompletionHandler)(RadarStatus status, CLLocation *_Nullable location, NSArray<RadarPlace *> *_Nullable places);
247
+
248
+ /**
249
+ Called when a geofence search request succeeds, fails, or times out.
250
+
251
+ Receives the request status and, if successful, the location and an array of geofences sorted by distance.
252
+
253
+ @see https://radar.com/documentation/api#search-geofences
254
+ */
255
+ typedef void (^_Nonnull RadarSearchGeofencesCompletionHandler)(RadarStatus status, CLLocation *_Nullable location, NSArray<RadarGeofence *> *_Nullable geofences);
256
+
257
+ /**
258
+ Called when a geocoding request succeeds, fails, or times out.
259
+
260
+ Receives the request status and, if successful, the geocoding results (an array of addresses).
261
+
262
+ @see https://radar.com/documentation/api#forward-geocode
263
+ */
264
+ typedef void (^_Nonnull RadarGeocodeCompletionHandler)(RadarStatus status, NSArray<RadarAddress *> *_Nullable addresses);
265
+
266
+ /**
267
+ Called when an IP geocoding request succeeds, fails, or times out.
268
+
269
+ Receives the request status and, if successful, the geocoding result (a partial address) and a boolean indicating whether the IP address is a known proxy.
270
+
271
+ @see https://radar.com/documentation/api#ip-geocode
272
+ */
273
+ typedef void (^_Nonnull RadarIPGeocodeCompletionHandler)(RadarStatus status, RadarAddress *_Nullable address, BOOL proxy);
274
+
275
+ /**
276
+ Called when an address validation request succeeds, fails, or times out.
277
+
278
+ Receives the request status and, if successful, the address and a verification status.
279
+
280
+ @see https://radar.com/documentation/api#validate-an-address
281
+ */
282
+ typedef void (^_Nonnull RadarValidateAddressCompletionHandler)(RadarStatus status, RadarAddress *_Nullable address, RadarAddressVerificationStatus verificationStatus);
283
+
284
+ /**
285
+ Called when a distance request succeeds, fails, or times out.
286
+
287
+ Receives the request status and, if successful, the routes.
288
+
289
+ @see https://radar.com/documentation/api#distance
290
+ */
291
+ typedef void (^_Nonnull RadarRouteCompletionHandler)(RadarStatus status, RadarRoutes *_Nullable routes);
292
+
293
+ /**
294
+ Called when a matrix request succeeds, fails, or times out.
295
+
296
+ Receives the request status and, if successful, the matrix.
297
+
298
+ @see https://radar.com/documentation/api#matrix
299
+ */
300
+ typedef void (^_Nonnull RadarRouteMatrixCompletionHandler)(RadarStatus status, RadarRouteMatrix *_Nullable matrix);
301
+
302
+ /**
303
+ Called when a request to log a conversion succeeds, fails, or times out.
304
+
305
+ Receives the request status and, if successful, the conversion event generated.
306
+
307
+ @see https://radar.com/documentation/api#send-a-custom-event
308
+ */
309
+ typedef void (^_Nullable RadarLogConversionCompletionHandler)(RadarStatus status, RadarEvent *_Nullable event);
310
+
311
+ typedef void (^_Nonnull RadarIndoorsScanCompletionHandler)(NSString *_Nullable result, CLLocation *_Nullable locationAtStartOfScan);
312
+
313
+ /**
314
+ The main class used to interact with the Radar SDK.
315
+
316
+ @see https://radar.com/documentation/sdk
317
+ */
318
+ @interface Radar : NSObject
319
+
320
+ #pragma mark - Initialization
321
+
322
+ @property (readonly, class) BOOL isInitialized;
323
+
324
+ /**
325
+ Initializes the Radar SDK.
326
+
327
+ @warning Call this method from the main thread in your `AppDelegate` class before calling any other Radar methods.
328
+
329
+ @param publishableKey Your publishable API key.
330
+
331
+ @see https://radar.com/documentation/sdk/ios#initialize-sdk
332
+ */
333
+ + (void)initializeWithPublishableKey:(NSString *_Nonnull)publishableKey NS_SWIFT_NAME(initialize(publishableKey:));
334
+
335
+ /**
336
+ Initializes the Radar SDK.
337
+
338
+ @warning Call this method from the main thread in your `AppDelegate` class before calling any other Radar methods.
339
+
340
+ @param publishableKey Your publishable API key.
341
+ @param options Radar SDK initialization options.
342
+
343
+ @see https://radar.com/documentation/sdk/ios#initialize-sdk
344
+ */
345
+
346
+ + (void)initializeWithPublishableKey:(NSString *_Nonnull)publishableKey options:(RadarInitializeOptions *_Nullable)options NS_SWIFT_NAME(initialize(publishableKey:options:));
347
+
348
+ + (void)initializeWithAppGroup:(NSString *_Nonnull)appGroup;
349
+
350
+ #pragma mark - Properties
351
+
352
+ /**
353
+ Gets the version number of the Radar SDK, such as "3.5.1" or "3.5.1-beta.2".
354
+ */
355
+ @property (readonly, class) NSString *sdkVersion;
356
+
357
+ /**
358
+ Identifies the user.
359
+
360
+ @note Until you identify the user, Radar will automatically identify the user by `deviceId` (IDFV).
361
+
362
+ @param userId A stable unique ID for the user. If `nil`, the previous `userId` will be cleared.
363
+
364
+ @see https://radar.com/documentation/sdk/ios#identify-user
365
+ */
366
+ + (void)setUserId:(NSString *_Nullable)userId;
367
+
368
+ /**
369
+ Returns the current `userId`.
370
+
371
+ @return The current `userId`.
372
+
373
+ @see https://radar.com/documentation/sdk/ios#identify-user
374
+ */
375
+ + (NSString *_Nullable)getUserId;
376
+
377
+ /**
378
+ Sets an optional description for the user, displayed in the dashboard.
379
+
380
+ @param description A description for the user. If `nil`, the previous `description` will be cleared.
381
+
382
+ @see https://radar.com/documentation/sdk/ios#identify-user
383
+ */
384
+ + (void)setDescription:(NSString *_Nullable)description;
385
+
386
+ /**
387
+ Returns the current `description`.
388
+
389
+ @return The current `description`.
390
+
391
+ @see https://radar.com/documentation/sdk/ios#identify-user
392
+ */
393
+ + (NSString *_Nullable)getDescription;
394
+
395
+ /**
396
+ Sets an optional set of custom key-value pairs for the user.
397
+
398
+ @param metadata A set of custom key-value pairs for the user. Must have 16 or fewer keys and values of type string, boolean, or number. If `nil`, the previous
399
+ `metadata` will be cleared.
400
+
401
+ @see https://radar.com/documentation/sdk/ios#identify-user
402
+ */
403
+ + (void)setMetadata:(NSDictionary *_Nullable)metadata;
404
+
405
+ /**
406
+ Returns the current `metadata`.
407
+
408
+ @return The current `metadata`.
409
+
410
+ @see https://radar.com/documentation/sdk/ios#identify-user
411
+ */
412
+ + (NSDictionary *_Nullable)getMetadata;
413
+
414
+ /**
415
+ Returns the current `tags`.
416
+
417
+ @return The current `tags`.
418
+ */
419
+ + (NSArray<NSString *> *_Nullable)getTags;
420
+
421
+ /**
422
+ Sets tags, replacing any existing tags.
423
+
424
+ @param tags An array of tags. If `nil`, all tags will be cleared.
425
+ */
426
+ + (void)setTags:(NSArray<NSString *> *_Nullable)tags;
427
+
428
+ /**
429
+ Adds tags to the existing set.
430
+
431
+ @param tags An array of tags to add.
432
+ */
433
+ + (void)addTags:(NSArray<NSString *> *_Nonnull)tags;
434
+
435
+ /**
436
+ Removes tags from the existing set.
437
+
438
+ @param tags An array of tags to remove.
439
+ */
440
+ + (void)removeTags:(NSArray<NSString *> *_Nonnull)tags;
441
+
442
+ /**
443
+ Sets an optional product name, displayed in the dashboard and reports.
444
+
445
+ @param product A product name. If `nil`, the previous `product` will be cleared.
446
+ */
447
+ + (void)setProduct:(NSString *_Nullable)product;
448
+
449
+ /**
450
+ Returns the current `product`.
451
+
452
+ @return The current `product`.
453
+ */
454
+ + (NSString *_Nullable)getProduct;
455
+
456
+ /**
457
+ Enables anonymous tracking for privacy reasons. Avoids creating user records on the server and avoids sending any stable device IDs, user IDs, and user metadata
458
+ to the server when calling `trackOnce()` or `startTracking()`. Disabled by default.
459
+
460
+ @param enabled A boolean indicating whether anonymous tracking should be enabled.
461
+ */
462
+ + (void)setAnonymousTrackingEnabled:(BOOL)enabled;
463
+
464
+ #pragma mark - Location
465
+
466
+ /**
467
+ Gets the device's current location.
468
+
469
+ @param completionHandler An optional completion handler.
470
+
471
+ @see https://radar.com/documentation/sdk/ios#get-location
472
+ */
473
+ + (void)getLocationWithCompletionHandler:(RadarLocationCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(getLocation(completionHandler:));
474
+
475
+ /**
476
+ Gets the device's current location with the desired accuracy.
477
+
478
+ @param desiredAccuracy The desired accuracy.
479
+ @param completionHandler An optional completion handler.
480
+
481
+ @see https://radar.com/documentation/sdk/ios#get-location
482
+ */
483
+ + (void)getLocationWithDesiredAccuracy:(RadarTrackingOptionsDesiredAccuracy)desiredAccuracy
484
+ completionHandler:(RadarLocationCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(getLocation(desiredAccuracy:completionHandler:));
485
+
486
+ #pragma mark - Tracking
487
+
488
+ /**
489
+ Tracks the user's location once in the foreground.
490
+
491
+ @warning Note that these calls are subject to rate limits.
492
+
493
+ @param completionHandler An optional completion handler.
494
+
495
+ @see https://radar.com/documentation/sdk/ios#foreground-tracking
496
+ */
497
+ + (void)trackOnceWithCompletionHandler:(RadarTrackCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackOnce(completionHandler:));
498
+
499
+ /**
500
+ Tracks the user's location once with the desired accuracy and optionally ranges beacons in the foreground.
501
+
502
+ @warning Note that these calls are subject to rate limits.
503
+
504
+ @param desiredAccuracy The desired accuracy.
505
+ @param beacons A boolean indicating whether to range beacons.
506
+ @param completionHandler An optional completion handler.
507
+
508
+ @see https://radar.com/documentation/sdk/ios#foreground-tracking
509
+ */
510
+ + (void)trackOnceWithDesiredAccuracy:(RadarTrackingOptionsDesiredAccuracy)desiredAccuracy
511
+ beacons:(BOOL)beacons
512
+ completionHandler:(RadarTrackCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackOnce(desiredAccuracy:beacons:completionHandler:));
513
+
514
+ /**
515
+ Manually updates the user's location.
516
+
517
+ @warning Note that these calls are subject to rate limits.
518
+
519
+ @param location A location for the user.
520
+ @param completionHandler An optional completion handler.
521
+
522
+ @see https://radar.com/documentation/sdk/ios#foreground-tracking
523
+ */
524
+ + (void)trackOnceWithLocation:(CLLocation *_Nonnull)location
525
+ completionHandler:(RadarTrackCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackOnce(location:completionHandler:));
526
+
527
+ /**
528
+ Tracks the user's location with device integrity information for location verification use cases.
529
+
530
+ @warning Note that you must configure SSL pinning before calling this method.
531
+
532
+ @param completionHandler An optional completion handler.
533
+
534
+ @see https://radar.com/documentation/fraud
535
+ */
536
+ + (void)trackVerifiedWithCompletionHandler:(RadarTrackVerifiedCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackVerified(completionHandler:));
537
+
538
+ /**
539
+ Tracks the user's location with device integrity information for location verification use cases.
540
+
541
+ @warning Note that you must configure SSL pinning before calling this method.
542
+
543
+ @param beacons A boolean indicating whether to range beacons.
544
+ @param desiredAccuracy The desired accuracy.
545
+ @param completionHandler An optional completion handler.
546
+
547
+ @see https://radar.com/documentation/fraud
548
+ */
549
+ + (void)trackVerifiedWithBeacons:(BOOL)beacons desiredAccuracy:(RadarTrackingOptionsDesiredAccuracy)desiredAccuracy completionHandler:(RadarTrackVerifiedCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackVerified(beacons:desiredAccuracy:completionHandler:));
550
+
551
+ /**
552
+ Tracks the user's location with device integrity information for location verification use cases.
553
+
554
+ @warning Note that you must configure SSL pinning before calling this method.
555
+
556
+ @param beacons A boolean indicating whether to range beacons.
557
+ @param desiredAccuracy The desired accuracy.
558
+ @param reason An optional reason, displayed in the dashboard and reports.
559
+ @param transactionId An optional transaction ID, displayed in the dashboard and reports.
560
+ @param completionHandler An optional completion handler.
561
+
562
+ @see https://radar.com/documentation/fraud
563
+ */
564
+ + (void)trackVerifiedWithBeacons:(BOOL)beacons desiredAccuracy:(RadarTrackingOptionsDesiredAccuracy)desiredAccuracy reason:(NSString *_Nullable)reason transactionId:(NSString *_Nullable)transactionId completionHandler:(RadarTrackVerifiedCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(trackVerified(beacons:desiredAccuracy:reason:transactionId:completionHandler:));
565
+
566
+ /**
567
+ Starts tracking the user's location with device integrity information for location verification use cases.
568
+
569
+ @param interval The default interval in seconds between each location update.
570
+ @param beacons A boolean indicating whether to range beacons.
571
+
572
+ @warning Note that you must configure SSL pinning before calling this method.
573
+
574
+ @see https://radar.com/documentation/fraud
575
+ */
576
+ + (void)startTrackingVerifiedWithInterval:(NSTimeInterval)interval beacons:(BOOL)beacons NS_SWIFT_NAME(startTrackingVerified(interval:beacons:));
577
+
578
+ /**
579
+ Stops tracking the user's location with device integrity information for location verification use cases.
580
+
581
+ @see https://radar.com/documentation/fraud
582
+ */
583
+ + (void)stopTrackingVerified NS_SWIFT_NAME(stopTrackingVerified());
584
+
585
+ /**
586
+ Returns a boolean indicating whether verified tracking has been started.
587
+
588
+ @return A boolean indicating whether verified tracking has been started.
589
+
590
+ @see https://radar.com/documentation/sdk/fraud
591
+ */
592
+ + (BOOL)isTrackingVerified;
593
+
594
+ /**
595
+ Returns the user's last verified location token if still valid, or requests a fresh token if not.
596
+
597
+ @warning Note that you must configure SSL pinning before calling this method.
598
+
599
+ @param completionHandler An optional completion handler.
600
+
601
+ @see https://radar.com/documentation/fraud
602
+ */
603
+ + (void)getVerifiedLocationToken:(RadarTrackVerifiedCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(getVerifiedLocationToken(completionHandler:));
604
+
605
+ /**
606
+ Returns the user's last verified location token if still valid, or requests a fresh token if not.
607
+
608
+ @warning Note that you must configure SSL pinning before calling this method.
609
+
610
+ @param beacons A boolean indicating whether to range beacons.
611
+ @param desiredAccuracy The desired accuracy.
612
+ @param completionHandler An optional completion handler.
613
+
614
+ @see https://radar.com/documentation/fraud
615
+ */
616
+ + (void)getVerifiedLocationTokenWithBeacons:(BOOL)beacons desiredAccuracy:(RadarTrackingOptionsDesiredAccuracy)desiredAccuracy completionHandler:(RadarTrackVerifiedCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(getVerifiedLocationToken(beacons:desiredAccuracy:completionHandler:));
617
+
618
+ /**
619
+ Clears the user's last verified location token.
620
+
621
+ @see https://radar.com/documentation/fraud
622
+ */
623
+ + (void)clearVerifiedLocationToken;
624
+
625
+ /**
626
+ Optionally sets the user's expected country and state for jurisdiction checks.
627
+
628
+ @param countryCode The user's expected two-letter country code.
629
+ @param stateCode The user's expected two-letter state code.
630
+ */
631
+ + (void)setExpectedJurisdictionWithCountryCode:(NSString *_Nullable)countryCode stateCode:(NSString *_Nullable)stateCode NS_SWIFT_NAME(setExpectedJurisdiction(countryCode:stateCode:));
632
+
633
+ /**
634
+ Starts tracking the user's location in the background with configurable tracking options.
635
+
636
+ @param options Configurable tracking options.
637
+
638
+ @see https://radar.com/documentation/sdk/ios#background-tracking-for-geofencing
639
+ */
640
+ + (void)startTrackingWithOptions:(RadarTrackingOptions *)options NS_SWIFT_NAME(startTracking(trackingOptions:));
641
+
642
+ /**
643
+ Mocks tracking the user's location from an origin to a destination.
644
+
645
+ @param origin The origin.
646
+ @param destination The destination.
647
+ @param mode The travel mode.
648
+ @param steps The number of mock location updates.
649
+ @param interval The interval in seconds between each mock location update. A number between 1 and 60.
650
+
651
+ @see https://radar.com/documentation/sdk/ios#mock-tracking-for-testing
652
+ */
653
+ + (void)mockTrackingWithOrigin:(CLLocation *_Nonnull)origin
654
+ destination:(CLLocation *_Nonnull)destination
655
+ mode:(RadarRouteMode)mode
656
+ steps:(int)steps
657
+ interval:(NSTimeInterval)interval
658
+ completionHandler:(RadarTrackCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(mockTracking(origin:destination:mode:steps:interval:completionHandler:));
659
+
660
+ /**
661
+ Stops tracking the user's location in the background.
662
+
663
+ @see https://radar.com/documentation/sdk/ios#background-tracking-for-geofencing
664
+ */
665
+ + (void)stopTracking;
666
+
667
+ /**
668
+ Returns a boolean indicating whether tracking has been started.
669
+
670
+ @return A boolean indicating whether tracking has been started.
671
+
672
+ @see https://radar.com/documentation/sdk/ios#background-tracking-for-geofencing
673
+ */
674
+ + (BOOL)isTracking;
675
+
676
+ /**
677
+ Returns the current tracking options.
678
+
679
+ @return The current tracking options.
680
+
681
+ @see https://radar.com/documentation/sdk/tracking
682
+ */
683
+ + (RadarTrackingOptions *)getTrackingOptions;
684
+
685
+
686
+ /**
687
+ Returns a boolean indicating whether local tracking options are being overridden by remote tracking options.
688
+
689
+ @return A boolean indicating whether local tracking options are being overridden by remote tracking options.
690
+
691
+ */
692
+ + (BOOL)isUsingRemoteTrackingOptions;
693
+
694
+ #pragma mark - Delegate
695
+
696
+ /**
697
+ Sets a delegate for client-side delivery of events, location updates, and debug logs.
698
+
699
+ @param delegate A delegate for client-side delivery of events, location updates, and debug logs. If `nil`, the previous delegate will be cleared.
700
+
701
+ @see https://radar.com/documentation/sdk/ios#listening-for-events-with-a-delegate
702
+ */
703
+ + (void)setDelegate:(nullable id<RadarDelegate>)delegate;
704
+
705
+ /**
706
+ Sets a delegate for client-side delivery of verified location tokens.
707
+
708
+ @param verifiedDelegate A delegate for client-side delivery of verified location tokens. If `nil`, the previous delegate will be cleared.
709
+
710
+ @see https://radar.com/documentation/fraud
711
+ */
712
+ + (void)setVerifiedDelegate:(nullable id<RadarVerifiedDelegate>)verifiedDelegate;
713
+
714
+ #pragma mark - Events
715
+
716
+ /**
717
+ Accepts an event. Events can be accepted after user check-ins or other forms of verification. Event verifications will be used to improve the accuracy and
718
+ confidence level of future events.
719
+
720
+ @param eventId The ID of the event to accept.
721
+ @param verifiedPlaceId For place entry events, the ID of the verified place. May be `nil`.
722
+
723
+ @see https://radar.com/documentation/places#verify-events
724
+ */
725
+ + (void)acceptEventId:(NSString *_Nonnull)eventId verifiedPlaceId:(NSString *_Nullable)verifiedPlaceId NS_SWIFT_NAME(acceptEventId(_:verifiedPlaceId:));
726
+
727
+ /**
728
+ Rejects an event. Events can be accepted after user check-ins or other forms of verification. Event verifications will be used to improve the accuracy and
729
+ confidence level of future events.
730
+
731
+ @param eventId The ID of the event to reject.
732
+
733
+ @see https://radar.com/documentation/places#verify-events
734
+ */
735
+ + (void)rejectEventId:(NSString *_Nonnull)eventId NS_SWIFT_NAME(rejectEventId(_:));
736
+
737
+ /**
738
+ Logs a conversion.
739
+
740
+ @param name The name of the conversion.
741
+ @param metadata The metadata associated with the conversion.
742
+ @param completionHandler A completion handler.
743
+
744
+ @see https://radar.com/documentation/api#send-a-custom-event
745
+ */
746
+ + (void)logConversionWithName:(NSString *)name
747
+ metadata:(NSDictionary *_Nullable)metadata
748
+ completionHandler:(RadarLogConversionCompletionHandler)completionHandler NS_SWIFT_NAME(logConversion(name:metadata:completionHandler:));
749
+
750
+ /**
751
+ Logs a conversion with revenue.
752
+
753
+ @param name The name of the conversion.
754
+ @param revenue The revenue generated by the conversion.
755
+ @param metadata The metadata associated with the conversion.
756
+ @param completionHandler A completion handler.
757
+
758
+ @see https://radar.com/documentation/api#send-a-custom-event
759
+ */
760
+ + (void)logConversionWithName:(NSString *)name
761
+ revenue:(NSNumber *)revenue
762
+ metadata:(NSDictionary *_Nullable)metadata
763
+ completionHandler:(RadarLogConversionCompletionHandler)completionHandler NS_SWIFT_NAME(logConversion(name:revenue:metadata:completionHandler:));
764
+
765
+ /**
766
+ Logs a conversion with a notification.
767
+ @param request The request associated with the notification
768
+
769
+ @see https://radar.com/documentation/api#send-a-custom-event
770
+ */
771
+ + (void)logConversionWithNotification:(UNNotificationRequest *_Nullable)request NS_SWIFT_NAME(logConversion(request:));
772
+
773
+ /**
774
+ Logs a conversion with a notification. This should only be used to manually setup logging of notification conversions.
775
+ @param response The response associated with user interaction with the notification.
776
+
777
+ @see https://radar.com/documentation/api#send-a-custom-event
778
+ */
779
+
780
+ + (void)logConversionWithNotificationResponse:(UNNotificationResponse *)response NS_SWIFT_NAME(logConversion(response:));
781
+
782
+ #pragma mark - Trips
783
+
784
+ /**
785
+ Returns the current trip options.
786
+
787
+ @return The current trip options.
788
+
789
+ @see https://radar.com/documentation/trip-tracking
790
+ */
791
+ + (RadarTripOptions *_Nullable)getTripOptions;
792
+
793
+ /**
794
+ Starts a trip.
795
+
796
+ @param options Configurable trip options.
797
+
798
+ @see https://radar.com/documentation/trip-tracking
799
+ */
800
+ + (void)startTripWithOptions:(RadarTripOptions *_Nonnull)options NS_SWIFT_NAME(startTrip(options:));
801
+
802
+ /**
803
+ Starts a trip.
804
+
805
+ @param options Configurable trip options.
806
+ @param completionHandler An optional completion handler.
807
+
808
+ @see https://radar.com/documentation/trip-tracking
809
+ */
810
+ + (void)startTripWithOptions:(RadarTripOptions *_Nonnull)options
811
+ completionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(startTrip(options:completionHandler:));
812
+
813
+ /**
814
+ Starts a trip.
815
+
816
+ @param tripOptions Configurable trip options.
817
+ @param trackingOptions Tracking options to use during the trip.
818
+ @param completionHandler An optional completion handler.
819
+
820
+ @see https://radar.com/documentation/trip-tracking
821
+ */
822
+ + (void)startTripWithOptions:(RadarTripOptions *_Nonnull)tripOptions
823
+ trackingOptions:(RadarTrackingOptions *_Nullable)trackingOptions
824
+ completionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(startTrip(options:trackingOptions:completionHandler:));
825
+
826
+ /**
827
+ Manually updates a trip.
828
+
829
+ @param options Configurable trip options.
830
+ @param status The trip status. To avoid updating status, pass RadarTripStatusUnknown.
831
+ @param completionHandler An optional completion handler.
832
+
833
+ @see https://radar.com/documentation/trip-tracking
834
+ */
835
+ + (void)updateTripWithOptions:(RadarTripOptions *_Nonnull)options
836
+ status:(RadarTripStatus)status
837
+ completionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(updateTrip(options:status:completionHandler:));
838
+
839
+ /**
840
+ Completes a trip.
841
+
842
+ @see https://radar.com/documentation/trip-tracking
843
+ */
844
+ + (void)completeTrip;
845
+
846
+ /**
847
+ Completes a trip.
848
+
849
+ @param completionHandler An optional completion handler.
850
+
851
+ @see https://radar.com/documentation/trip-tracking
852
+ */
853
+ + (void)completeTripWithCompletionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(completeTrip(completionHandler:));
854
+
855
+ /**
856
+ Cancels a trip.
857
+
858
+ @see https://radar.com/documentation/trip-tracking
859
+ */
860
+ + (void)cancelTrip;
861
+
862
+ /**
863
+ Cancels a trip.
864
+
865
+ @param completionHandler An optional completion handler.
866
+
867
+ @see https://radar.com/documentation/trip-tracking
868
+ */
869
+ + (void)cancelTripWithCompletionHandler:(RadarTripCompletionHandler _Nullable)completionHandler NS_SWIFT_NAME(cancelTrip(completionHandler:));
870
+
871
+ #pragma mark - Context
872
+
873
+ /**
874
+ Gets the device's current location, then gets context for that location without sending device or user identifiers to the server.
875
+
876
+ @param completionHandler An optional completion handler.
877
+
878
+ @see https://radar.com/documentation/api#search-geofences
879
+ */
880
+ + (void)getContextWithCompletionHandler:(RadarContextCompletionHandler _Nonnull)completionHandler NS_SWIFT_NAME(getContext(completionHandler:));
881
+
882
+ /**
883
+ Gets context for a location without sending device or user identifiers to the server.
884
+
885
+ @param location The location.
886
+ @param completionHandler An optional completion handler.
887
+
888
+ @see https://radar.com/documentation/api#context
889
+ */
890
+ + (void)getContextForLocation:(CLLocation *_Nonnull)location
891
+ completionHandler:(RadarContextCompletionHandler _Nonnull)completionHandler NS_SWIFT_NAME(getContext(location:completionHandler:));
892
+
893
+ #pragma mark - Search
894
+
895
+ /**
896
+ Gets the device's current location, then searches for places near that location, sorted by distance.
897
+
898
+ @warning You may specify only one of chains, categories, or groups.
899
+
900
+ @param radius The radius to search, in meters. A number between 100 and 10000.
901
+ @param chains An array of chain slugs to filter. See https://radar.com/documentation/places/chains
902
+ @param categories An array of categories to filter. See https://radar.com/documentation/places/categories
903
+ @param groups An array of groups to filter. See https://radar.com/documentation/places/groups
904
+ @param limit The max number of places to return. A number between 1 and 100.
905
+ @param countryCodes An array of country codes to filter. See https://radar.com/documentation/regions/countries
906
+ @param completionHandler A completion handler.
907
+
908
+ @see https://radar.com/documentation/api#search-places
909
+ */
910
+ + (void)searchPlacesWithRadius:(int)radius
911
+ chains:(NSArray<NSString *> *_Nullable)chains
912
+ categories:(NSArray<NSString *> *_Nullable)categories
913
+ groups:(NSArray<NSString *> *_Nullable)groups
914
+ countryCodes:(NSArray<NSString *> *_Nullable)countryCodes
915
+ limit:(int)limit
916
+ completionHandler:(RadarSearchPlacesCompletionHandler)completionHandler NS_SWIFT_NAME(searchPlaces(radius:chains:categories:groups:countryCodes:limit:completionHandler:));
917
+
918
+ /**
919
+ Gets the device's current location, then searches for places near that location, sorted by distance.
920
+
921
+ @warning You may specify only one of chains, categories, or groups; if chains are specified, `chainMetadata` can also be specified.
922
+
923
+ @param radius The radius to search, in meters. A number between 100 and 10000.
924
+ @param chains An array of chain slugs to filter. See https://radar.com/documentation/places/chains
925
+ @param chainMetadata Optional chain metadata filters. Keys and values must be strings. See https://radar.com/documentation/places#metadata.
926
+ @param categories An array of categories to filter. See https://radar.com/documentation/places/categories
927
+ @param groups An array of groups to filter. See https://radar.com/documentation/places/groups
928
+ @param countryCodes An array of country codes to filter. See https://radar.com/documentation/regions/countries
929
+ @param limit The max number of places to return. A number between 1 and 100.
930
+ @param completionHandler A completion handler.
931
+
932
+ @see https://radar.com/documentation/api#search-places
933
+ */
934
+ + (void)searchPlacesWithRadius:(int)radius
935
+ chains:(NSArray<NSString *> *_Nullable)chains
936
+ chainMetadata:(NSDictionary<NSString *, NSString *> *_Nullable)chainMetadata
937
+ categories:(NSArray<NSString *> *_Nullable)categories
938
+ groups:(NSArray<NSString *> *_Nullable)groups
939
+ countryCodes:(NSArray<NSString *> *_Nullable)countryCodes
940
+ limit:(int)limit
941
+ completionHandler:(RadarSearchPlacesCompletionHandler)completionHandler NS_SWIFT_NAME(searchPlaces(radius:chains:chainMetadata:categories:groups:countryCodes:limit:completionHandler:));
942
+
943
+ /**
944
+ Searches for places near a location, sorted by distance.
945
+
946
+ @warning You may specify only one of chains, categories, or groups.
947
+
948
+ @param near The location to search.
949
+ @param radius The radius to search, in meters. A number between 100 and 10000.
950
+ @param chains An array of chain slugs to filter. See https://radar.com/documentation/places/chains
951
+ @param categories An array of categories to filter. See https://radar.com/documentation/places/categories
952
+ @param groups An array of groups to filter. See https://radar.com/documentation/places/groups
953
+ @param countryCodes An array of country codes to filter. See https://radar.com/documentation/regions/countries
954
+ @param limit The max number of places to return. A number between 1 and 100.
955
+ @param completionHandler A completion handler.
956
+
957
+ @see https://radar.com/documentation/api#search-places
958
+ */
959
+ + (void)searchPlacesNear:(CLLocation *)near
960
+ radius:(int)radius
961
+ chains:(NSArray<NSString *> *_Nullable)chains
962
+ categories:(NSArray<NSString *> *_Nullable)categories
963
+ groups:(NSArray<NSString *> *_Nullable)groups
964
+ countryCodes:(NSArray<NSString *> *_Nullable)countryCodes
965
+ limit:(int)limit
966
+ completionHandler:(RadarSearchPlacesCompletionHandler)completionHandler NS_SWIFT_NAME(searchPlaces(near:radius:chains:categories:groups:countryCodes:limit:completionHandler:));
967
+
968
+ /**
969
+ Searches for places near a location, sorted by distance.
970
+
971
+ @warning You may specify only one of chains, categories, or groups.
972
+
973
+ @param near The location to search.
974
+ @param radius The radius to search, in meters. A number between 100 and 10000.
975
+ @param chains An array of chain slugs to filter. See https://radar.com/documentation/places/chains
976
+ @param chainMetadata Optional chain metadata filters. Keys and values must be strings. See https://radar.com/documentation/places#metadata.
977
+ @param categories An array of categories to filter. See https://radar.com/documentation/places/categories
978
+ @param groups An array of groups to filter. See https://radar.com/documentation/places/groups
979
+ @param countryCodes An array of country codes to filter. See https://radar.com/documentation/regions/countries
980
+ @param limit The max number of places to return. A number between 1 and 100.
981
+ @param completionHandler A completion handler.
982
+
983
+ @see https://radar.com/documentation/api#search-places
984
+ */
985
+ + (void)searchPlacesNear:(CLLocation *)near
986
+ radius:(int)radius
987
+ chains:(NSArray<NSString *> *_Nullable)chains
988
+ chainMetadata:(NSDictionary<NSString *, NSString *> *_Nullable)chainMetadata
989
+ categories:(NSArray<NSString *> *_Nullable)categories
990
+ groups:(NSArray<NSString *> *_Nullable)groups
991
+ countryCodes:(NSArray<NSString *> *_Nullable)countryCodes
992
+ limit:(int)limit
993
+ completionHandler:(RadarSearchPlacesCompletionHandler)completionHandler NS_SWIFT_NAME(searchPlaces(near:radius:chains:chainMetadata:categories:groups:countryCodes:limit:completionHandler:));
994
+
995
+ /**
996
+ Gets the device's current location, then searches for geofences near that location, sorted by distance.
997
+
998
+ @param completionHandler A completion handler.
999
+
1000
+ @see https://radar.com/documentation/api#search-geofences
1001
+ */
1002
+ + (void)searchGeofences:(RadarSearchGeofencesCompletionHandler)completionHandler NS_SWIFT_NAME(searchGeofences(completionHandler:));
1003
+
1004
+ /**
1005
+ Searches for geofences near a location, sorted by distance.
1006
+
1007
+ @param near The location to search. Use null to search near the device's current location.
1008
+ @param radius The radius to search, in meters. A number between 100 and 10000. If -1 is entered, the server defaults to using unlimited radius.
1009
+ @param tags An array of tags to filter. See https://radar.com/documentation/geofences
1010
+ @param metadata A dictionary of metadata to filter. See https://radar.com/documentation/geofences
1011
+ @param limit The max number of geofences to return. A number between 1 and 1000. Defaults to 100.
1012
+ @param includeGeometry Include geofence geometries in the response. Recommended to be set to false in less you specifically need the geometries. To retrieve more than 100 results, `includeGeometry` must be set to `false`.
1013
+ @param completionHandler A completion handler.
1014
+
1015
+ @see https://radar.com/documentation/api#search-geofences
1016
+ */
1017
+ + (void)searchGeofencesNear:(CLLocation *_Nullable)near
1018
+ radius:(int)radius
1019
+ tags:(NSArray<NSString *> *_Nullable)tags
1020
+ metadata:(NSDictionary *_Nullable)metadata
1021
+ limit:(int)limit
1022
+ includeGeometry:(BOOL)includeGeometry
1023
+ completionHandler:(RadarSearchGeofencesCompletionHandler)completionHandler NS_SWIFT_NAME(searchGeofences(near:radius:tags:metadata:limit:includeGeometry:completionHandler:));
1024
+
1025
+ /**
1026
+ @deprecated Autocompletes partial addresses and place names, sorted by relevance.
1027
+
1028
+ @param query The partial address or place name to autocomplete.
1029
+ @param near A location for the search.
1030
+ @param layers Optional layer filters.
1031
+ @param limit The max number of addresses to return. A number between 1 and 100.
1032
+ @param country An optional country filter. A string, the unique 2-letter country code.
1033
+ @param expandUnits Whether to expand units. Default behavior in other function signatures is false.
1034
+ @param completionHandler A completion handler.
1035
+
1036
+ @see https://radar.com/documentation/api#autocomplete
1037
+ */
1038
+ + (void)autocompleteQuery:(NSString *_Nonnull)query
1039
+ near:(CLLocation *_Nullable)near
1040
+ layers:(NSArray<NSString *> *_Nullable)layers
1041
+ limit:(int)limit
1042
+ country:(NSString *_Nullable)country
1043
+ expandUnits:(BOOL)expandUnits
1044
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(autocomplete(query:near:layers:limit:country:expandUnits:completionHandler:)) __deprecated;
1045
+
1046
+ /**
1047
+ Autocompletes partial addresses and place names, sorted by relevance.
1048
+
1049
+ @param query The partial address or place name to autocomplete.
1050
+ @param near A location for the search.
1051
+ @param layers Optional layer filters.
1052
+ @param limit The max number of addresses to return. A number between 1 and 100.
1053
+ @param country An optional country filter. A string, the unique 2-letter country code.
1054
+ @param mailable Whether to only include mailable addresses. Default behavior in other function signatures is false.
1055
+ @param completionHandler A completion handler.
1056
+
1057
+ @see https://radar.com/documentation/api#autocomplete
1058
+ */
1059
+ + (void)autocompleteQuery:(NSString *_Nonnull)query
1060
+ near:(CLLocation *_Nullable)near
1061
+ layers:(NSArray<NSString *> *_Nullable)layers
1062
+ limit:(int)limit
1063
+ country:(NSString *_Nullable)country
1064
+ mailable:(BOOL)mailable
1065
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(autocomplete(query:near:layers:limit:country:mailable:completionHandler:));
1066
+
1067
+ /**
1068
+ Autocompletes partial addresses and place names, sorted by relevance.
1069
+
1070
+ @param query The partial address or place name to autocomplete.
1071
+ @param near A location for the search.
1072
+ @param layers Optional layer filters.
1073
+ @param limit The max number of addresses to return. A number between 1 and 100.
1074
+ @param country An optional country filter. A string, the unique 2-letter country code.
1075
+ @param completionHandler A completion handler.
1076
+
1077
+ @see https://radar.com/documentation/api#autocomplete
1078
+ */
1079
+ + (void)autocompleteQuery:(NSString *_Nonnull)query
1080
+ near:(CLLocation *_Nullable)near
1081
+ layers:(NSArray<NSString *> *_Nullable)layers
1082
+ limit:(int)limit
1083
+ country:(NSString *_Nullable)country
1084
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(autocomplete(query:near:layers:limit:country:completionHandler:));
1085
+
1086
+ /**
1087
+ Autocompletes partial addresses and place names, sorted by relevance.
1088
+
1089
+ @param query The partial address or place name to autocomplete.
1090
+ @param near A location for the search.
1091
+ @param limit The max number of addresses to return. A number between 1 and 100.
1092
+ @param completionHandler A completion handler.
1093
+
1094
+ @see https://radar.com/documentation/api#autocomplete
1095
+ */
1096
+ + (void)autocompleteQuery:(NSString *_Nonnull)query
1097
+ near:(CLLocation *_Nullable)near
1098
+ limit:(int)limit
1099
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(autocomplete(query:near:limit:completionHandler:));
1100
+
1101
+ #pragma mark - Geocoding
1102
+
1103
+ /**
1104
+ Geocodes an address, converting address to coordinates.
1105
+
1106
+ @param query The address to geocode.
1107
+ @param completionHandler A completion handler.
1108
+
1109
+ @see https://radar.com/documentation/api#forward-geocode
1110
+ */
1111
+ + (void)geocodeAddress:(NSString *_Nonnull)query completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(geocode(address:completionHandler:));
1112
+
1113
+ /**
1114
+ Geocodes an address, converting address to coordinates.
1115
+
1116
+ @param query The address to geocode.
1117
+ @param layers Optional layer filters.
1118
+ @param countries Optional country filters. A string array of unique 2-letter country codes.
1119
+ @param completionHandler A completion handler.
1120
+
1121
+ @see https://radar.com/documentation/api#forward-geocode
1122
+ */
1123
+ + (void)geocodeAddress:(NSString *)query
1124
+ layers:(NSArray<NSString *> *_Nullable)layers
1125
+ countries:(NSArray<NSString *> *_Nullable)countries
1126
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(geocode(address:layers:countries:completionHandler:));
1127
+
1128
+ /**
1129
+ Gets the device's current location, then reverse geocodes that location, converting coordinates to address.
1130
+
1131
+ @param completionHandler A completion handler.
1132
+
1133
+ @see https://radar.com/documentation/api#reverse-geocode
1134
+ */
1135
+ + (void)reverseGeocodeWithCompletionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(reverseGeocode(completionHandler:));
1136
+
1137
+ /**
1138
+ Gets the device's current location, then reverse geocodes that location, converting coordinates to address.
1139
+
1140
+ @param completionHandler A completion handler.
1141
+ @param layers Optional layer filters.
1142
+
1143
+ @see https://radar.com/documentation/api#reverse-geocode
1144
+ */
1145
+ + (void)reverseGeocodeWithLayers:(NSArray<NSString *> *_Nullable)layers
1146
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(reverseGeocode(layers:completionHandler:));
1147
+
1148
+ /**
1149
+ Reverse geocodes a location, converting coordinates to address.
1150
+
1151
+ @param location The location to reverse geocode.
1152
+ @param completionHandler A completion handler.
1153
+
1154
+ @see https://radar.com/documentation/api#reverse-geocode
1155
+ */
1156
+ + (void)reverseGeocodeLocation:(CLLocation *_Nonnull)location
1157
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(reverseGeocode(location:completionHandler:));
1158
+
1159
+ /**
1160
+ Reverse geocodes a location, converting coordinates to address.
1161
+
1162
+ @param location The location to reverse geocode.
1163
+ @param layers Optional layer filters.
1164
+ @param completionHandler A completion handler.
1165
+
1166
+ @see https://radar.com/documentation/api#reverse-geocode
1167
+ */
1168
+ + (void)reverseGeocodeLocation:(CLLocation *)location
1169
+ layers:(NSArray<NSString *> *_Nullable)layers
1170
+ completionHandler:(RadarGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(reverseGeocode(location:layers:completionHandler:));
1171
+
1172
+ /**
1173
+ Geocodes the device's current IP address, converting IP address to partial address.
1174
+
1175
+ @param completionHandler A completion handler.
1176
+
1177
+ @see https://radar.com/documentation/api#ip-geocode
1178
+ */
1179
+ + (void)ipGeocodeWithCompletionHandler:(RadarIPGeocodeCompletionHandler)completionHandler NS_SWIFT_NAME(ipGeocode(completionHandler:));
1180
+
1181
+
1182
+ /**
1183
+ Validates an address, attaching a verification status, property type, and ZIP+4.
1184
+
1185
+ @param address The address to validate.
1186
+ @param completionHandler A completion handler.
1187
+
1188
+ @see https://radar.com/documentation/api#validate-an-address
1189
+ */
1190
+
1191
+ + (void)validateAddress:(RadarAddress *_Nonnull)address completionHandler:(RadarValidateAddressCompletionHandler)completionHandler NS_SWIFT_NAME(validateAddress(address:completionHandler:));
1192
+
1193
+ #pragma mark - Distance
1194
+
1195
+ /**
1196
+ Gets the device's current location, then calculates the travel distance and duration to a destination.
1197
+
1198
+ @param destination The destination.
1199
+ @param modes The travel modes.
1200
+ @param units The distance units.
1201
+ @param completionHandler A completion handler.
1202
+
1203
+ @see https://radar.com/documentation/api#distance
1204
+ */
1205
+ + (void)getDistanceToDestination:(CLLocation *_Nonnull)destination
1206
+ modes:(RadarRouteMode)modes
1207
+ units:(RadarRouteUnits)units
1208
+ completionHandler:(RadarRouteCompletionHandler)completionHandler NS_SWIFT_NAME(getDistance(destination:modes:units:completionHandler:));
1209
+
1210
+ /**
1211
+ Calculates the travel distance and duration from an origin to a destination.
1212
+
1213
+ @param origin The origin.
1214
+ @param destination The destination.
1215
+ @param modes The travel modes.
1216
+ @param units The distance units.
1217
+ @param completionHandler A completion handler.
1218
+
1219
+ @see https://radar.com/documentation/api#distance
1220
+ */
1221
+ + (void)getDistanceFromOrigin:(CLLocation *_Nonnull)origin
1222
+ destination:(CLLocation *_Nonnull)destination
1223
+ modes:(RadarRouteMode)modes
1224
+ units:(RadarRouteUnits)units
1225
+ completionHandler:(RadarRouteCompletionHandler)completionHandler NS_SWIFT_NAME(getDistance(origin:destination:modes:units:completionHandler:));
1226
+
1227
+ /**
1228
+ Calculates the travel distances and durations between multiple origins and destinations for up to 25 routes.
1229
+
1230
+ @param origins The origins.
1231
+ @param destinations The destinations.
1232
+ @param mode The travel mode.
1233
+ @param units The distance units.
1234
+ @param completionHandler A completion handler.
1235
+
1236
+ @see https://radar.com/documentation/api#matrix
1237
+ */
1238
+ + (void)getMatrixFromOrigins:(NSArray<CLLocation *> *_Nonnull)origins
1239
+ destinations:(NSArray<CLLocation *> *_Nonnull)destinations
1240
+ mode:(RadarRouteMode)mode
1241
+ units:(RadarRouteUnits)units
1242
+ completionHandler:(RadarRouteMatrixCompletionHandler)completionHandler NS_SWIFT_NAME(getMatrix(origins:destinations:mode:units:completionHandler:));
1243
+
1244
+ #pragma mark - Indoors
1245
+
1246
+ + (void)startIndoorScan:(NSString *)geofenceId
1247
+ forLength:(int)scanLengthSeconds
1248
+ completionHandler:(RadarIndoorsScanCompletionHandler)completionHandler;
1249
+
1250
+ #pragma mark - Logging
1251
+
1252
+ /**
1253
+ Sets the preferred log level for debug logs. This can be overridden by the remote SDK configuration set in the dashboard.
1254
+
1255
+ @param level The log level.
1256
+ */
1257
+ + (void)setLogLevel:(RadarLogLevel)level;
1258
+
1259
+ /**
1260
+ Log application terminating. Include this in your application delegate's applicationWillTerminate: method.
1261
+
1262
+ */
1263
+ + (void)logTermination;
1264
+
1265
+ /**
1266
+ Log application entering background. Include this in your application delegate's applicationDidEnterBackground: method.
1267
+ */
1268
+ + (void)logBackgrounding;
1269
+
1270
+ /**
1271
+ Log application resigning active. Include this in your application delegate's applicationWillResignActive: method.
1272
+
1273
+ */
1274
+ + (void)logResigningActive;
1275
+
1276
+
1277
+ #pragma mark - Helpers
1278
+
1279
+ /**
1280
+ Returns a display string for a status value.
1281
+
1282
+ @param status A status value.
1283
+
1284
+ @return A display string for the status value.
1285
+ */
1286
+ + (NSString *)stringForStatus:(RadarStatus)status NS_SWIFT_NAME(stringForStatus(_:));
1287
+
1288
+ /**
1289
+ Returns a string for address validation status value.
1290
+
1291
+ @param verificationStatus An address verification status value.
1292
+
1293
+ @return A string for the address verification status value.
1294
+ */
1295
+ + (NSString *)stringForVerificationStatus:(RadarAddressVerificationStatus)verificationStatus NS_SWIFT_NAME(stringForVerificationStatus(_:));
1296
+
1297
+ /**
1298
+ Returns a display string for an activity type value.
1299
+
1300
+ @param type An activity type value.
1301
+
1302
+ @return A display string for the activity type value.
1303
+ */
1304
+ + (NSString *)stringForActivityType:(RadarActivityType)type NS_SWIFT_NAME(stringForActivityType(_:));
1305
+
1306
+
1307
+ /**
1308
+ Returns a display string for a location source value.
1309
+
1310
+ @param source A location source value.
1311
+
1312
+ @return A display string for the location source value.
1313
+ */
1314
+ + (NSString *)stringForLocationSource:(RadarLocationSource)source NS_SWIFT_NAME(stringForLocationSource(_:));
1315
+
1316
+ /**
1317
+ Returns a display string for a travel mode value.
1318
+ @param mode A travel mode value.
1319
+ @return A display string for the travel mode value.
1320
+ */
1321
+ + (NSString *)stringForMode:(RadarRouteMode)mode NS_SWIFT_NAME(stringForMode(_:));
1322
+
1323
+ /**
1324
+ Returns a display string for a trip status value.
1325
+
1326
+ @param status A trip status value.
1327
+
1328
+ @return A display string for the trip status value.
1329
+ */
1330
+ + (NSString *)stringForTripStatus:(RadarTripStatus)status NS_SWIFT_NAME(stringForTripStatus(_:));
1331
+
1332
+ /**
1333
+ Returns a dictionary for a location.
1334
+
1335
+ @param location A location.
1336
+
1337
+ @return A dictionary for the location.
1338
+ */
1339
+ + (NSDictionary *)dictionaryForLocation:(CLLocation *)location NS_SWIFT_NAME(dictionaryForLocation(_:));
1340
+
1341
+ /**
1342
+ Returns a dictionary for an in-app message.
1343
+
1344
+ @param message An in-app message.
1345
+
1346
+ @return A dictionary for the in-app message.
1347
+ */
1348
+ + (NSDictionary *)dictionaryForInAppMessage:(RadarInAppMessage *)message NS_SWIFT_NAME(dictionaryForInAppMessage(_:));
1349
+
1350
+
1351
+ /**
1352
+ Performs optional setup for Radar SDK within the AppDelegate. This method only needs to be called if Radar is initalized in cross-platform code.
1353
+
1354
+ */
1355
+ + (void)nativeSetup:(RadarInitializeOptions *)options NS_SWIFT_NAME(nativeSetup(_:));
1356
+
1357
+ + (void)openURLFromNotification:(UNNotification *)notification NS_SWIFT_NAME(openURLFromNotification(_:));
1358
+
1359
+ + (void)setInAppMessageDelegate:(nullable id<RadarInAppMessageProtocol>)delegate NS_SWIFT_NAME(setInAppMessageDelegate(_:));
1360
+
1361
+ + (void)showInAppMessage:(RadarInAppMessage *)message NS_SWIFT_NAME(showInAppMessage(_:));
1362
+
1363
+ /**
1364
+ Load image convenience function available for use with custom in-app message views
1365
+ */
1366
+ + (void) loadImage:(NSString*)url completionHandler:(void (^ _Nonnull)(UIImage * _Nullable))completionHandler NS_SWIFT_NAME(loadImage(_:completionHandler:));
1367
+
1368
+ + (void)requestMotionActivityPermission NS_SWIFT_NAME(requestMotionActivityPermission());
1369
+
1370
+ + (void)setAppGroup:(NSString*_Nullable)appGroup;
1371
+
1372
+ + (void)setPushNotificationToken:(NSString*_Nullable)token;
1373
+
1374
+ + (void)setLocationExtensionToken:(NSString*_Nullable)token;
1375
+
1376
+ + (void)didReceivePushNotificationPayload:(NSDictionary*)payload completionHandler:(void (^ _Nonnull)(void))completionHandler;
1377
+
1378
+ @end
1379
+
1380
+ NS_ASSUME_NONNULL_END