아키텍처 및 구성요소

이동 및 주문 진행률 구현에는 여러 주문형 차량 공유 및 배송 솔루션 구성요소(Fleet Engine, Consumer SDK, Driver SDK)를 사용한 작업이 포함됩니다.

  • Fleet Engine은 주문형 차량 공유 및 배송 솔루션 백엔드 서비스입니다. 이동 및 차량 상태를 관리하는 역할을 합니다. REST 또는 gRPC 호출을 통해 Fleet Engine과 통신할 수 있는 Driver SDK, Consumer SDK, 백엔드 서비스 간의 트랜잭션을 처리합니다.

  • 소비자 SDK는 소비자 앱에 통합하는 클라이언트 라이브러리로, 운전자의 경로, 남은 거리 및 도착예정시간을 추적하는 등 여정 공유 환경을 제공합니다. 소비자 SDK는 모바일(Android 또는 iOS) 또는 웹(자바스크립트)용일 수 있습니다.

  • Driver SDK는 드라이버 앱에 통합하는 클라이언트 라이브러리입니다. Fleet Engine을 운전자 위치, 경로, 남은 거리, 도착예정시간으로 업데이트하는 역할을 합니다. 또한 드라이버에 세부 경로 안내 탐색 안내를 제공하는 Navigation SDK를 래핑합니다. 자세한 내용은 Google 지도로 내비게이션을 참고하세요.

다음 아키텍처 다이어그램은 이러한 구성요소 간의 관계를 보여줍니다.

아키텍처

경로, 차량, 경유지

이동 및 주문 진행률 애플리케이션을 만들려면 이동, 차량, 경유지를 사용하는 작업이 포함됩니다.

여행

여정은 중간에 있는 경유지를 포함하여 승차 위치에서 하차 위치로 소비자 (또는 소비자가 주문한 식사)를 운송하는 이동을 나타냅니다.

프로그래매틱 방식으로 Trip 객체는 승차 위치, 목적지, 차량의 현재 위치, 이동 경로, 중간 경유지, 이동 유형 (제외 또는 공유)을 캡슐화합니다.

차량

차량은 Fleet의 차량을 나타냅니다. Vehicle 객체는 프로그래매틱 방식으로 차량 위치, 현재 이동 목록, 현재 경유지 목록을 캡슐화합니다.

경유지

경유지는 경로 상의 위치를 나타냅니다. 승차 위치, 하차 위치 또는 단지 통과하기 위한 주요 기록일 수 있습니다. 프로그래매틱 방식으로 Waypoint 객체에는 경유지의 위치가 여러 개의 지리 좌표, 경유지 유형, 경유지가 포함된 이동 식별자가 포함됩니다.

여정과 차량에 모두 경유지가 포함됩니다.

  • 경로의 경유지 집합에는 이동과 관련된 모든 경유지가 포함됩니다. 다른 경로와 공유하는 경우 다른 경로에 대한 경유지가 포함될 수 있습니다.

  • 차량의 경유지 집합에는 여러 이동을 위한 경유지를 포함하여 차량의 나머지 모든 경유지가 포함됩니다.

샘플 흐름

다음 다이어그램은 일반적인 이동 및 주문 진행 흐름을 보여줍니다. 자세한 내용은 단일 목적지 여행 만들기 및 표시를 참고하세요.

시퀀스 다이어그램

다음 단계에서는 샘플 흐름을 설정하는 방법을 설명합니다.

  1. 차량을 만들고 위치 공유를 사용 설정한 다음 차량 상태를 온라인으로 설정합니다. Fleet Engine을 통해 차량을 만듭니다. Fleet Engine 또는 Driver SDK를 통해 차량 상태를 온라인으로 설정할 수 있습니다.

  2. 차량에 맞는 고객을 찾으세요. SearchVehicles() 메서드를 사용하여 Fleet에서 잠재적 차량 목록을 찾을 수 있습니다.

  3. Fleet Engine에서 이동을 만들고, 해당 이동에 차량을 할당하고, 해당 이동을 소비자 앱과 연결하고, 운전자에게 승차 및 하차 위치를 제공합니다.

  4. Driver SDK는 이동 중에 도착예정시간, 거리, 경로를 자동으로 업데이트합니다. 이동 상태를 업데이트하는 것은 사용자의 책임입니다.

이동 및 주문 진행률 구현을 시작하려면 단일 목적지 이동 만들기 및 표시를 참고하세요.