Cette section explique comment préparer le véhicule pour vos trajets. Vous devez terminer chacune des étapes suivantes avant que votre backend puisse associer un véhicule à un trajet.
Configurer un écouteur
Étant donné que le SDK Driver effectue des actions dans
arrière-plan, utilisez le DriverStatusListener
pour déclencher des notifications lorsque certains
événements se produisent, tels que des erreurs, des avertissements ou des messages de débogage. Les erreurs peuvent être
de nature temporaire (BACKEND_CONNECTIVITY_ERROR
, par exemple) ou qui peuvent
entraîner l'arrêt définitif des mises à jour de la position. Par exemple, si vous recevez une
VEHICLE_NOT_FOUND
, cela indique une erreur de configuration.
L'exemple suivant illustre une implémentation de 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());
Activer les mises à jour de la position
Après avoir configuré l'écouteur, activez les mises à jour de la position comme suit:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Définir l'intervalle de mise à jour
Par défaut, le SDK Drive envoie des mises à jour de la position toutes les 10 secondes
intervalle lorsque l'état du véhicule est ONLINE
. Vous pouvez modifier cet intervalle avec
reporter.setLocationReportingInterval(long, TimeUnit)
La taille minimale acceptée
l'intervalle de mise à jour est de 5 secondes. Des mises à jour plus fréquentes
peuvent ralentir
les requêtes et les erreurs.
Définir l'état du véhicule sur "En ligne"
Lorsque vous activez les mises à jour de la position, vous pouvez définir l'état du véhicule sur ONLINE
pour
rendre le véhicule disponible pour des requêtes SearchVehicles
dans Fleet Engine La
Le SDK Driver envoie la mise à jour de l'état du véhicule avec les mises à jour de la position.
Vous pouvez définir l'état du véhicule directement dans le SDK Driver ou dans Fleet Engine Google Cloud. Pour en savoir plus, consultez Mettre à jour un véhicule.
Les exemples suivants montrent comment définir l'état du véhicule sur "En ligne" dans le mode Conducteur SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
Le StatusListener
signale également toute erreur qui se produit lors de la mise à jour du
l'état du véhicule.