이 섹션에서는 예약된 작업을 위해 차량을 준비하는 방법을 보여줍니다. 백엔드에서 차량을 작업에 매칭하려면 다음 단계를 모두 완료해야 합니다.
리스너 설정
Driver SDK는
백그라운드에서 특정 상황이 발생할 때 DriverStatusListener
를 사용하여 알림을 트리거하세요.
오류, 경고, 디버그 메시지 등의
이벤트가 발생할 수 있습니다 오류는 다음과 같은 특징이 있습니다.
BACKEND_CONNECTIVITY_ERROR
와 같이 일시적인 특성이 있거나
위치 업데이트가 영구적으로 중지됩니다. 예를 들어 VEHICLE_NOT_FOUND
오류가 발생하면 구성 오류를 나타냅니다.
다음 예는 DriverStatusListener
구현을 보여줍니다.
class MyStatusListener implements DriverStatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg, @Nullable Throwable cause) {
// Existing implementation
if (cause != null && cause instanceof StatusRuntimeException) {
if (Status.NOT_FOUND.getCode().equals(cause.getStatus().getCode())) {
// NOT_FOUND gRPC exception thrown by Fleet Engine.
}
}
}
}
DriverContextBuilder.setDriverStatusListener(new MyStatusListener());
위치 업데이트 사용 설정
*VehicleReporter
인스턴스가 있으면 다음과 같이 위치 업데이트를 사용 설정합니다.
자바
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(선택사항) 업데이트 간격 설정
기본적으로 Driver SDK는 10초 간격으로 위치 업데이트를 전송합니다. 각
위치 업데이트는 차량이 온라인 상태임을 나타냅니다. 이
간격
reporter.setLocationReportingInterval(long, TimeUnit)
지원되는 최소
업데이트 간격은 5초입니다. 자주 업데이트하면 속도가 느려질 수 있습니다.
요청 및 오류를 해결합니다