차량 준비

이 섹션에서는 예약된 작업을 위해 차량을 준비하는 방법을 보여줍니다. 백엔드에서 차량을 작업에 매칭하려면 다음 단계를 각각 완료해야 합니다.

리스너 설정

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초입니다. 업데이트를 더 자주 실행하면 요청이 느려지고 오류가 발생할 수 있습니다.