Arquitetura e componentes

A implementação do andamento da viagem e do pedido envolve trabalhar com vários componentes da solução de viagens e entregas sob demanda (em inglês), como Fleet Engine, SDK do consumidor e SDK do Driver:

  • O Fleet Engine é o serviço de back-end da solução de viagens e entregas sob demanda. Ele é responsável por gerenciar viagens e o estado do veículo. Ele processa transações entre o SDK do driver, o SDK do consumidor e seu serviço de back-end, que pode se comunicar com o Fleet Engine fazendo chamadas REST ou gRPC.

  • O SDK do consumidor é uma biblioteca de cliente que você integra ao seu app para consumidor. Ele é responsável por apresentar a experiência de compartilhamento de jornada, que inclui o rastreamento do trajeto, da distância restante e do HEC do motorista. O SDK do consumidor pode ser para dispositivos móveis (Android ou iOS) ou para a Web (JavaScript).

  • O SDK do Driver é uma biblioteca de cliente integrada ao app do motorista. Ele é responsável por atualizar o Fleet Engine com a localização do motorista, o trajeto, a distância restante e o HEC. Ela também encapsula o SDK do Navigation, que fornece instruções de navegação guiada para o motorista. Para mais informações, consulte Navegação com o Google Maps.

O diagrama de arquitetura a seguir mostra a relação entre esses componentes:

Arquitetura

Viagens, veículos e waypoints

A criação de um aplicativo do progresso de viagem e pedido envolve trabalhar com viagens, veículos e waypoints.

Viagens

Uma viagem representa uma viagem, que transporta o consumidor (ou a refeição solicitada) do local de embarque até um local de desembarque, incluindo waypoints intermediários ao longo do caminho.

Programaticamente, um objeto Trip encapsula um local de embarque, um destino, a localização atual do veículo, o trajeto para a viagem, waypoints intermediários e o tipo de viagem (exclusivo ou compartilhado).

Veículos

Um veículo representa um veículo na sua frota. Programaticamente, um objeto Vehicle encapsula a localização do veículo, uma lista de viagens atuais e uma lista de waypoints atuais.

Pontos de referência

Um ponto de referência representa um local ao longo de um trajeto. Pode ser um local de embarque, um local de desembarque ou um marco apenas para passar. Programaticamente, um objeto Waypoint contém a posição do waypoint como um conjunto de coordenadas geográficas, o tipo de waypoint e o identificador da viagem que inclui o waypoint.

Tanto as viagens quanto os veículos contêm waypoints:

  • O conjunto de waypoints de uma viagem contém todos os waypoints relevantes para a viagem. Ela pode incluir waypoints para outras viagens, se uma viagem for compartilhada com outras viagens.

  • O conjunto de waypoints de um veículo contém todos os waypoints restantes, incluindo aqueles de várias viagens.

Fluxo de amostra

O diagrama a seguir mostra o fluxo típico de viagem e andamento do pedido. Para mais informações, consulte Criar e mostrar uma única viagem de destino.

Diagrama de sequência

As etapas a seguir descrevem como configurar o fluxo de amostra:

  1. Crie um veículo, ative o Compartilhamento de local e defina o estado do veículo como on-line. Você cria veículos usando o Fleet Engine. Você pode definir o estado do veículo como on-line pelo Fleet Engine ou pelo SDK do Driver.

  2. Associe um cliente ao seu veículo. Você pode usar o método SearchVehicles() para encontrar uma lista de possíveis veículos da sua frota.

  3. Crie uma viagem no Fleet Engine, atribua o veículo a ela, associe a viagem ao app de consumidores e informe os locais de embarque e desembarque.

  4. O SDK do motorista atualiza automaticamente a HEC, a distância e o trajeto durante a viagem. Você é responsável por atualizar o status da viagem.

Para começar a implementar o progresso da viagem e do pedido, consulte Criar e mostrar uma única viagem de destino.