@react-native-drivekit/driver-data
v2.4.2
Published
React Native interface for DriveKit Driver Data
Downloads
87
Readme
@react-native-drivekit/driver-data
React Native interface for DriveKit Driver Data
Prerequisite
Before installing @react-native-drivekit/driver-data
you must have installed @react-native-drivekit/core
.
Installation
Install the library:
npm install @react-native-drivekit/driver-data
Install iOS pods:
cd ios && pod install
Initialization
Android setup
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
(…)
}
iOS setup
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.
API
| 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
getTripsOrderByDateDesc
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
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);
getRoute
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');
deleteTrip
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');