Skip to content

Commit

Permalink
Merge pull request #93 from radarlabs/3.8
Browse files Browse the repository at this point in the history
expose trackVerifiedToken()
  • Loading branch information
nickpatrick authored Dec 11, 2023
2 parents 12405f4 + 9ca85c8 commit a3e3520
Show file tree
Hide file tree
Showing 13 changed files with 72 additions and 16 deletions.
2 changes: 1 addition & 1 deletion CapacitorRadar.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
s.ios.deployment_target = '12.0'
s.dependency 'Capacitor'
s.dependency 'RadarSDK', '~> 3.8.2'
s.dependency 'RadarSDK', '~> 3.8.11'
s.static_framework = true
end
3 changes: 1 addition & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,5 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'io.radar:sdk:3.8.4'
implementation 'com.google.android.play:integrity:1.0.2'
implementation 'io.radar:sdk:3.8.17'
}
17 changes: 17 additions & 0 deletions android/src/main/java/io/radar/capacitor/RadarPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,23 @@ public void onComplete(@NotNull Radar.RadarStatus status, @Nullable Location loc
});
}

@PluginMethod()
public void trackVerifiedToken(final PluginCall call) {
Radar.trackVerifiedToken(new Radar.RadarTrackTokenCallback() {
@Override
public void onComplete(@NotNull Radar.RadarStatus status, @Nullable String token) {
if (status == Radar.RadarStatus.SUCCESS && token != null) {
JSObject ret = new JSObject();
ret.put("status", status.toString());
ret.put("token", token);
call.resolve(ret);
} else {
call.reject(status.toString());
}
}
});
}

@PluginMethod()
public void startTrackingEfficient(PluginCall call) {
Radar.startTracking(RadarTrackingOptions.EFFICIENT);
Expand Down
3 changes: 2 additions & 1 deletion example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ dependencies {
androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
implementation project(':capacitor-cordova-android-plugins')
implementation 'io.radar:sdk:3.5.6'
implementation 'io.radar:sdk:3.8.17'
implementation 'com.google.android.play:integrity:1.2.0'
}

apply from: 'capacitor.build.gradle'
Expand Down
2 changes: 1 addition & 1 deletion example/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 18 additions & 1 deletion example/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -219,11 +219,28 @@ class App extends React.Component<AppProps, AppState> {
}).catch((error) => {
this.logOutput(`getMatrix: error ${JSON.stringify(error)}\n`);
});

Radar.trackVerified().then((result) => {
this.logOutput(`trackVerified: ${JSON.stringify(result)}\n`);
const { user } = result;
if (user?.fraud?.passed && user?.country?.allowed && user?.state?.allowed) {
// allow access to feature
} else {
// deny access to feature, show error message
}
}).catch((error) => {
this.logOutput(`trackVerified: error ${JSON.stringify(error)}\n`);
});
Radar.trackVerifiedToken().then((result) => {
this.logOutput(`trackVerifiedToken: ${JSON.stringify(result)}\n`);
const { token } = result;
if (token) {
// send token to server
}
}).catch((error) => {
this.logOutput(`trackVerifiedToken: error ${JSON.stringify(error)}\n`);
});

// var stopTrackingTime = new Date()
// stopTrackingTime.setMinutes(stopTrackingTime.getMinutes() + 1)
// Radar.startTrackingCustom({
Expand Down Expand Up @@ -377,4 +394,4 @@ class App extends React.Component<AppProps, AppState> {
}
}

export default App;
export default App;
1 change: 1 addition & 0 deletions ios/Plugin/Plugin.m
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
CAP_PLUGIN_METHOD(getLocation, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(trackOnce, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(trackVerified, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(trackVerifiedToken, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(startTrackingEfficient, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(startTrackingResponsive, CAPPluginReturnPromise);
CAP_PLUGIN_METHOD(startTrackingContinuous, CAPPluginReturnPromise);
Expand Down
15 changes: 15 additions & 0 deletions ios/Plugin/Plugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,21 @@ public class RadarPlugin: CAPPlugin, RadarDelegate {
}
}

@objc func trackVerifiedToken(_ call: CAPPluginCall) {
DispatchQueue.main.async {
Radar.trackVerifiedToken { (status: RadarStatus, token: String?) in
if status == .success && token != nil {
call.resolve([
"status": Radar.stringForStatus(status),
"token": token
])
} else {
call.reject(Radar.stringForStatus(status))
}
}
}
}

@objc func startTrackingEfficient(_ call: CAPPluginCall) {
DispatchQueue.main.async {
Radar.startTracking(trackingOptions: RadarTrackingOptions.presetEfficient)
Expand Down
4 changes: 2 additions & 2 deletions ios/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ platform :ios, '12.0'
target 'Plugin' do
use_frameworks!
pod 'Capacitor', :path => '../node_modules/@capacitor/ios'
pod 'RadarSDK', '~> 3.8.2'
pod 'RadarSDK', '~> 3.8.11'
end

target 'PluginTests' do
use_frameworks!
pod 'Capacitor', :path => '../node_modules/@capacitor/ios'
pod 'RadarSDK', '~> 3.8.2'
pod 'RadarSDK', '~> 3.8.11'
end
10 changes: 5 additions & 5 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ PODS:
- Capacitor (3.2.5):
- CapacitorCordova
- CapacitorCordova (1.1.1)
- RadarSDK (3.8.4)
- RadarSDK (3.8.11)

DEPENDENCIES:
- "Capacitor (from `../node_modules/@capacitor/ios`)"
- RadarSDK (~> 3.8.2)
- RadarSDK (~> 3.8.11)

SPEC REPOS:
trunk:
Expand All @@ -20,8 +20,8 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Capacitor: 32416638f82066f863d7cd85d6f738b5cc2797d2
CapacitorCordova: 25811fd90c0ea23ea135a42a217d1918873fa566
RadarSDK: 00aac8132174517cd0de9b43af0aa168edaf5a4c
RadarSDK: d01f332e9e800ce86a8d11b2d76ecb9135b1b202

PODFILE CHECKSUM: 245c0b251f95e838b3cdb7a5d9709a22ac24fcd7
PODFILE CHECKSUM: 5684e242f9f784f108d6610671582ee60236bf43

COCOAPODS: 1.11.3
COCOAPODS: 1.12.1
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "capacitor-radar",
"version": "3.7.3",
"version": "3.8.0",
"description": "Capacitor plugin for Radar, the leading geofencing and location tracking platform",
"main": "dist/esm/index.js",
"types": "dist/esm/index.d.ts",
Expand Down
6 changes: 6 additions & 0 deletions src/definitions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export interface RadarPlugin {
getLocation(options: { desiredAccuracy: RadarTrackingOptionsDesiredAccuracy }): Promise<RadarLocationCallback>;
trackOnce(options?: Location | { desiredAccuracy: RadarTrackingOptionsDesiredAccuracy, beacons: boolean}): Promise<RadarTrackCallback>;
trackVerified(): Promise<RadarTrackCallback>;
trackVerifiedToken(): Promise<RadarTrackTokenCallback>;
startTrackingEfficient(): void;
startTrackingResponsive(): void;
startTrackingContinuous(): void;
Expand Down Expand Up @@ -62,6 +63,11 @@ export interface RadarTrackCallback {
events?: RadarEvent[];
}

export interface RadarTrackTokenCallback {
status: string;
token?: String;
}

export interface RadarTripCallback {
status: string;
trip?: RadarTrip;
Expand Down

0 comments on commit a3e3520

Please sign in to comment.