Architecture et composants

L'implémentation de la progression du trajet et de la commande implique de travailler avec plusieurs composants de la solution de courses et de livraisons à la demande : Fleet Engine, le SDK grand public et le SDK pilote.

  • Fleet Engine est le service de backend de la solution de courses et de livraisons à la demande. Il est responsable de la gestion des trajets et de l'état des véhicules. Il gère les transactions entre le SDK Driver, le SDK client et votre service de backend, qui peut communiquer avec Fleet Engine via des appels REST ou gRPC.

  • Le SDK Consommateur est une bibliothèque cliente que vous intégrez à votre application grand public. Il est chargé de présenter l'expérience de partage de parcours, qui inclut le suivi de l'itinéraire du conducteur, de la distance restante et de son heure d'arrivée prévue. Le SDK grand public peut être conçu pour les appareils mobiles (Android ou iOS) ou pour le Web (JavaScript).

  • Le SDK Driver est une bibliothèque cliente que vous intégrez à votre application de pilote. Il est chargé de mettre à jour le parc avec l'emplacement, l'itinéraire, la distance restante et l'heure d'arrivée prévue du conducteur. Il encapsule également le SDK Navigation, qui fournit au conducteur des instructions de navigation détaillées. Pour en savoir plus, consultez Navigation avec Google Maps.

Le schéma d'architecture suivant illustre la relation entre ces composants:

Architecture

Trajets, véhicules et points de cheminement

La création d'une application de progression du trajet et de la commande implique de travailler avec des trajets, des véhicules et des points de cheminement.

Trajets

Un trajet représente un parcours, c'est-à-dire un trajet qui transporte le consommateur (ou le repas qu'il a commandé) d'un lieu de prise en charge à un lieu de dépose, y compris les points de cheminement intermédiaires en cours de route.

Par programmation, un objet Trip encapsule un lieu de prise en charge, une destination, la position actuelle du véhicule, l'itinéraire à parcourir, les points de cheminement intermédiaires et le type de trajet (exclusif ou partagé).

Véhicules

Un véhicule désigne un véhicule de votre parc. Par programmation, un objet Vehicle encapsule la position du véhicule, une liste des trajets en cours et une liste des points de cheminement actuels.

Points de cheminement

Un point de cheminement représente un point géographique sur un itinéraire. Il peut s'agir d'un lieu de prise en charge, d'un lieu de dépose ou d'un jalon simplement pour le passage. En programmation, un objet Waypoint contient la position du point de cheminement sous la forme d'un ensemble de coordonnées géographiques, le type de point de cheminement et l'identifiant du trajet qui inclut le point de cheminement.

Les trajets et les véhicules contiennent des points de cheminement:

  • L'ensemble de points de cheminement d'un trajet contient tous les points de cheminement pertinents pour ce trajet. Si un trajet est partagé avec d'autres trajets, il peut inclure des points de cheminement pour d'autres trajets.

  • L'ensemble de points de cheminement d'un véhicule contient tous les points de cheminement restants du véhicule, y compris les points de cheminement pour plusieurs trajets.

Exemple de flux

Le schéma suivant illustre le flux classique de progression du trajet et de la commande. Pour en savoir plus, consultez Créer et afficher un trajet à destination unique.

Schéma de la séquence

Les étapes suivantes décrivent comment configurer l'exemple de flux:

  1. Créez un véhicule, activez le partage de position, puis définissez l'état du véhicule sur online. Vous créez des véhicules via Fleet Engine. Vous pouvez définir l'état du véhicule sur online via Fleet Engine ou via le SDK Driver.

  2. Associez un client à votre véhicule. Vous pouvez utiliser la méthode SearchVehicles() pour rechercher la liste des véhicules potentiels de votre parc.

  3. Créez un trajet dans Fleet Engine, attribuez le véhicule à ce trajet, associez ce trajet à l'application des consommateurs, et indiquez au conducteur les lieux de prise en charge et de dépose.

  4. Le SDK Driver met automatiquement à jour l'heure d'arrivée prévue, la distance et l'itinéraire pendant le trajet. Vous êtes responsable de la mise à jour de l'état du trajet.

Pour commencer à implémenter la progression du trajet et de la commande, consultez Créer et afficher un trajet à destination unique.