ZendriveDelegateProtocol Protocol Reference
Conforms to | NSObject |
Declared in | Zendrive.h |
Instance Methods
processAccidentDetected:
This callback is fired on the main thread when an accident is detected by the SDK during a drive. Any ongoing auto-detected/manual drives will be stopped after this point.
- (void)processAccidentDetected:(nonnull ZendriveAccidentInfo *)accidentInfo
Parameters
- accidentInfo
Info about accident.
Declared In
Zendrive.h
processAnalysisOfDrive:
Called on the delegate in the main thread when Zendrive SDK finishes full analysis of all valid drives returned from processEndOfDrive: callback.
- (void)processAnalysisOfDrive:(nonnull ZendriveAnalyzedDriveInfo *)analyzedDriveInfo
Parameters
- analyzedDriveInfo
Analyzed insights of the drive.
Discussion
This will be called for all the processEndOfDrive: callbacks with the value of ZendriveDriveInfo.driveType not set to ZendriveDriveTypeInvalid.
This may contain additional or improved data over the ZendriveEstimatedDriveInfo returned from processEndOfDrive:
Typically this callback will be fired within a few seconds after processEndOfDrive: callback but in some rare cases this delay can be really large depending on phone network conditions.
This callback will be fired in trip occurrence sequence, i.e from oldest trip to the latest trip.
Declared In
Zendrive.h
processEndOfDrive:
Called on the delegate in the main thread when Zendrive SDK detects a drive to have been completed.
- (void)processEndOfDrive:(nonnull ZendriveEstimatedDriveInfo *)estimatedDriveInfo
Parameters
- estimatedDriveInfo
Best estimate info about the drive. Refer to ZendriveEstimatedDriveInfo for further details.
Discussion
It is possible that Zendrive SDK might decide at a later time that an ongoing trip was a falsely detected trip. In such scenario processEndOfDrive: will be invoked on delegate with ZendriveDriveInfo.driveType set to ZendriveDriveTypeInvalid.
Every trip with ZendriveDriveInfo.driveType not set to ZendriveDriveTypeInvalid will receive a corresponding processAnalysisOfDrive: callback containing additional info related to this drive.
Declared In
Zendrive.h
processLocationApproved
This method is called when location permission state is determined for the first time or whenever it changes.
- (void)processLocationApproved
Declared In
Zendrive.h
processLocationDenied
This callback is fired on main thread when location services are denied for the SDK. After this callback, drive detection is paused until location services are re-enabled for the SDK.
- (void)processLocationDenied
Discussion
The expected behaviour is that the enclosing application shows an appropriate popup prompting the user to allow location services for the app.
The callback is triggered once every time location services are denied by the user and can be triggered in background or in foreground, depending on whether the SDK has enough CPU time to execute.
Declared In
Zendrive.h
processResumeOfDrive:
Called on delegate in the main thread when Zendrive SDK resumes a drive after a gap.
- (void)processResumeOfDrive:(nonnull ZendriveDriveResumeInfo *)resumeInfo
Parameters
- resumeInfo
Info about drive resume. Refer to ZendriveDriveResumeInfo for further details.
Discussion
The gap in drive recording may occur due to an application restart by the OS, application kill and restart by a user, an application crash or other reasons. Drives started by calling [Zendrive startDrive:] are always resumed and they will not end until [Zendrive stopDrive:] is called.
Declared In
Zendrive.h
processStartOfDrive:
Called on delegate in the main thread when Zendrive SDK detects a potential start of a drive.
- (void)processStartOfDrive:(nonnull ZendriveDriveStartInfo *)startInfo
Parameters
- startInfo
Info about drive start. Refer to ZendriveDriveStartInfo for further details.
Declared In
Zendrive.h