准备好车辆

本部分介绍了如何准备好车辆以便出行。您必须完成 以下每个步骤,您的后端才能将车辆与行程匹配。

设置监听器

由于驱动程序 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());

启用位置信息更新

设置监听器后,按如下方式启用位置信息更新:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

设置更新间隔

默认情况下,Driver SDK 以 10 秒为间隔发送位置信息更新。 间隔时间(当车辆状态为 ONLINE 时)。您可以使用 reporter.setLocationReportingInterval(long, TimeUnit)。支持的下限 更新间隔为 5 秒。更新频率越高,速度越慢 请求和错误。

将车辆状态设为在线

开启位置信息更新后,您可以将车辆状态设置为 ONLINE, 让车辆在 Fleet Engine 中支持 SearchVehicles 查询。通过 驱动程序 SDK 会发送更新后的车辆状态和位置信息更新。

您可以直接在 Driver SDK 或 Fleet Engine 中设置车辆状态 服务器。如需了解详情,请参阅更新车辆

以下示例展示了如何在 Driver 中将车辆状态设置为在线 SDK:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);

Kotlin

val reporter = ...

reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)

StatusListener还会报告更新 车辆状态。

后续步骤

设置行程详细信息