@react-native-drivekit/driver-data
TypeScript icon, indicating that this package has built-in type declarations

2.0.2 • Public • Published

@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');

Package Sidebar

Install

npm i @react-native-drivekit/driver-data

Weekly Downloads

6

Version

2.0.2

License

MIT

Unpacked Size

141 kB

Total Files

57

Last publish

Collaborators

  • clementtab
  • cyrilbo
  • ag-drivequant
  • daviddq
  • stevendq
  • jeremybayledq
  • drivequant