차량 준비

이 섹션에서는 예약된 작업을 실행할 수 있도록 차량을 준비하는 방법을 보여줍니다. 백엔드에서 차량을 작업에 매칭하려면 다음 단계를 모두 완료해야 합니다.

리스너 설정

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