本部分介绍了如何准备好车辆以便出行。您必须完成 以下每个步骤,您的后端才能将车辆与行程匹配。
设置监听器
由于 Driver 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
,以便在车队引擎中对车辆执行 SearchVehicles
查询。Driver 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
还会报告更新
车辆状态。