React Native interface for DriveKit Driver Data
Before installing @react-native-drivekit/driver-data
you must have installed @react-native-drivekit/core
.
Install the library:
npm install @react-native-drivekit/driver-data
Install iOS pods:
cd ios && pod install
If you have disabled the DriveKit auto-initialization, call initialize method inside the onCreateMethod()
of your Appplication class.
// MainApplication.java
import com.reactnativedrivekit.driverdata.DriveKitDriverDataModule;
import com.reactnativedrivekitcore.DriveKitCoreModule;
import com.reactnativedrivekittripanalysis.DriveKitTripAnalysisModule;
// ...
@Override
public void onCreate() {
super.onCreate();
DriveKitCoreModule.Companion.initialize(this);
final RNTripNotification tripNotification = new RNTripNotification("Notification title", "Notification description", R.drawable.common_google_signin_btn_icon_dark)
final RNHeadlessJSNotification headlessJSNotification = new RNHeadlessJSNotification("Notification title", "Notification description");
DriveKitTripAnalysisModule.Companion.initialize(tripNotification, headlessJSNotification);
DriveKitDriverDataModule.Companion.initialize(); // ADD THIS LINE
(…)
}
If you have disabled the DriveKit auto-initialization, call initialize
method in your AppDelegate.mm
.
// AppDelegate.mm
#import <RNDriveKitDriverData/react-native-drivekit-driver-data-umbrella.h>
// ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[RNDriveKitCoreWrapper.shared initialize];
[RNDriveKitTripAnalysisWrapper.shared initializeWithLaunchOptions:launchOptions];
[[RNDriveKitDriverDataWrapper.shared initialize]; // ADD THIS LINE
(…)
}
Note: If you are using Swift, initialize
method is also available.
Method | Return Type | iOS | Android |
---|---|---|---|
getTripsOrderByDateAsc() | Promise<GetTripsResponse | null> |
✅ | ✅ |
getTripsOrderByDateDesc() | Promise<GetTripsResponse | null> |
✅ | ✅ |
getTrip() | Promise<GetTripResponse | null> |
✅ | ✅ |
getRoute() | Promise<Route | null> |
✅ | ✅ |
deleteTrip() | Promise<void> |
✅ | ✅ |
getTripsOrderByDateAsc(
synchronizationType: SynchronizationType = 'DEFAULT',
transportationModes: TransportationMode[] = []
): Promise<GetTripsResponse | null>
or
getTripsOrderByDateDesc(
synchronizationType: SynchronizationType = 'DEFAULT',
transportationModes: TransportationMode[] = []
): Promise<GetTripsResponse | null>
GetTripsResponse | Type |
---|---|
status |
TripSyncStatus |
trips |
[Trip] |
To get driver's trips, you have to call the following method:
const result = await getTripsOrderByDateAsc();
or
const result = await getTripsOrderByDateDesc();
getTrip(itinId: string): Promise<GetTripResponse | null>
GetTripResponse | Type |
---|---|
status |
TripSyncStatus |
trip |
Trip |
To get a specific trip, you have to call the following method:
const result = await getTrip('TRIP_ID_HERE);
To get road data of the trip (latitude, longitude), you have to call the following method::
getRoute(itinId: string): Promise<Route>
If route
value in the callback is null
, the synchronization has failed.
Example:
const route = await getRoute('TRIP_ID_HERE');
To delete a trip, you have to call the following method:
deleteTrip(itinId: string): Promise<boolean>
The itinId parameter is the unique identifier for a trip.
await deleteTrip('TRIP_ID_HERE');