允许消费者跟踪您为其提供的订单、乘车或其他服务的整个行程,从而量身定制按需行程的消费者体验。
什么是消费者 SDK?
消费者 SDK 是 Fleet Engine 的一部分,用于按需行程。它提供了在 Fleet Engine 中对行程数据进行建模和跟踪行程的界面,并提供可用于创建基于地图的丰富显示内容(以便与消费者用户分享行程)的类。您需要将 Consumer SDK 集成到应用中,并在 Fleet Engine 中设置适当的角色个人资料,以便打造这种消费者体验。
借助 Consumer SDK 平台专用 API,您可以将能够原生分享历程的功能构建到应用中。消费者 SDK 适用于以下平台:
为何使用 Consumer SDK?
将消费者 SDK 集成到您的按需行程应用中,可让您通过近乎实时的位置更新和道路贴靠位置,提供全面的消费者体验。消费者可以看到车辆在地图上叠加显示的车辆路线,包括进度详情,这有助于他们了解车辆所在位置或送货地点。
您可以使用 Consumer SDK 做些什么?
您可以使用 Driver SDK 和 Fleet Engine 中的信息来打造量身定制的用户体验,包括以下功能:
自定义地图界面,以满足您的品牌推广需求。
跟踪车辆沿路线行驶时的当前位置,其位置会定期更新。
显示上车点和下车点的预计到达时间 (ETA)。
显示剩余距离。
显示路线上的实时路况。
消费者 SDK 的运作方式
概括来讲,Consumer SDK 依赖于以下机制:
- 具有适当的 Fleet Engine 角色,以便通过身份验证的应用可以遵循与使用方订单关联的行程。
- 消费者与行程之间的关联,由您的后端系统提供。
- 用于在消费者应用中对行程数据进行建模和共享行程会话的
TripModel
和JourneySharingSession
SDK 类。
消费者 SDK 还提供其他接口和类,以便您打造丰富的应用体验,并包含交通状况、地图标记、预计到达时间和路线数据等详细信息。
下表显示了消费者应用之后的行程流程。
1 | 使用方应用请求行程 | 您的后端服务器会收到点播行程请求,然后执行以下操作:
|
2 | 司机接受行程 | 驾驶员应用获取行程 ID 和行程信息,然后驾驶员接受行程。 |
3 | 消费者应用请求跟踪行程 | 使用方应用从您的后端获取行程 ID,并请求开始跟踪行程。 |
4 | 司机开始行程 | 当司机使用司机应用指示行程已开始时,该应用会通过 Driver SDK 通知您的后端服务器。 例如,当司机即将离开餐厅或开车前往上车地点时。 |
5 | 车队引擎开始发送行程信息 | Fleet Engine 开始跟踪行程并与用户应用分享行程进度。 |
6 | 消费者应用显示行程信息 | 消费者应用会通知消费者,并开始向他们显示行程信息,并在行程进行时更新行程。 |
7 | 行程已取消或已完成 | 当司机取消或完成行程时,司机应用会停用位置信息跟踪,您的后端服务器会指示车队引擎将行程标记为已取消或已完成。 |
8 | 消费者应用停止跟踪行程 | 行程显示为已取消或已完成。 |
9 | 系统会针对下一次行程重复此过程 | 系统会创建一个新行程,并重复该过程。 |
如何使用 Consumer SDK
请选择您的平台,了解如何在消费者应用中开始跟踪行程。
Android
1 | 在 Android 中设置 Consumer SDK | 如需在应用中跟踪随叫车行程,请设置 Consumer SDK。如需了解详情,请参阅获取 Android 消费者 SDK。 |
2 | 设置视觉界面 | 定义地图并添加对矢量地图的支持,以设置您的消费者体验。如需了解详情,请参阅设置地图。 |
3 | 跟踪行程 | 根据行程信息向您的消费者分享相应车辆的位置信息。如需了解详情,请参阅跟踪行程。 |
5 | 更新行程进度和处理行程错误 | 更新行程详细信息,例如行程距离和预计到达时间,并处理行程中的任何错误。如需了解详情,请参阅更新行程进度和处理行程错误。 |
5 | 行程结束后,停止跟随行程 | 停止跟踪行程即可停止与用户分享车辆位置信息。如需了解详情,请参阅停止关注行程。 |
iOS
1 | 在 iOS 中设置使用方 SDK | 如需在应用中跟踪随叫车行程,请设置 Consumer SDK。如需了解详情,请参阅获取 iOS 消费者 SDK。 |
2 | 设置视觉界面 | 初始化地图视图并处理地图事件,以设置您的消费者体验。如需了解详情,请参阅设置地图。 |
3 | 跟踪行程 | 根据行程信息向您的消费者分享相应车辆的位置信息。如需了解详情,请参阅跟踪行程。 |
5 | 更新行程进度和处理行程错误 | 更新行程详细信息,例如行程距离和预计到达时间,并处理行程中的任何错误。如需了解详情,请参阅更新行程进度和处理行程错误。 |
5 | 行程结束后,停止跟随行程 | 停止跟踪行程即可停止与消费者分享车辆位置信息。如需了解详情,请参阅停止跟踪行程。 |
JavaScript
1 | 在 JavaScript 中设置了消费者 SDK | 如需在应用中跟踪随叫车行程,请设置 Consumer SDK。如需了解详情,请参阅设置 JavaScript 使用方 SDK。 |
2 | 加载和自定义地图 | 启用 Maps JavaScript API 并设置授权,以设置您的消费者体验。如需了解详情,请参阅设置地图。 |
3 | 跟踪行程 | 跟踪行程,以便向消费者分享相应车辆的位置。如需了解详情,请参阅跟踪行程。 |
5 | 更新行程进度并处理行程错误 | 更新行程详细信息,例如行程距离和预计到达时间,并处理行程中的任何错误。如需了解详情,请参阅更新和跟踪行程进度和处理行程错误。 |
5 | 行程结束后,停止跟随行程 | 停止跟踪行程即可停止与消费者分享车辆位置信息。如需了解详情,请参阅停止关注行程。 |
组件
本部分总结了跟踪行程所需的两个组成部分:
(可选)您还可以使用以下组件自定义消费者体验:
身份验证令牌提取工具
如需控制对存储在车队引擎中的位置数据的访问权限,您必须执行以下操作:
在服务器上为车队引擎实现 JSON Web 令牌 (JWT) 创建服务。如需了解详情,请参阅颁发 JWT。
在 Web 应用或移动应用中实现身份验证令牌提取程序,以对对位置数据的访问进行身份验证。如需详细了解如何设置令牌提取器,请参阅适用于 Android、iOS 或 JavaScript 的设置指南。
地图视图和行程跟踪器
跟踪行程包括用于可视化车辆和路点的组件,以及用于显示驾驶员预计到达时间或剩余行驶距离的原始数据 Feed。
下表介绍了这些组件:
组件 | 说明 |
---|---|
消费者地图视图 | 地图视图用于管理行程的生命周期,会在行程进行时显示车辆位置的路点。如果已知车辆的路线,则地图视图会更新车辆路线多段线,以指示车辆沿其路线的进度。 |
JavaScript 中的行程位置信息提供程序 | 对于 JavaScript Web 应用,行程位置信息提供程序会将被跟踪对象的位置信息馈送到共享的行程地图中。如需了解详情,请参阅实例化行程位置信息提供程序。
您可以使用行程位置信息提供程序跟踪行程的以下详细信息:
|
跟踪的地点对象
位置信息提供程序会跟踪对象(如航点和车辆)的位置,如下表所述。
跟踪的地理位置 | 说明 |
---|---|
上车地点 | 上车点是指行程的开始位置。 |
目标位置 | 目的地是指行程的结束位置。 它用于标记下车地点。 |
航点位置 | 航点位置是指跟踪行程路线上的任何中间位置。从技术上讲,航点可以包括上车点和下车点,但航点通常是指路线上的中间经停点。例如,送货路线上取件地和目的地之间的经停点是航点位置。如需了解详情,请参阅车队引擎文档中的行程航点。 |
车辆位置信息 | 车辆位置是指车辆的报告位置。如需了解详情,请参阅车队引擎文档中的车辆位置。 |
设置地图样式
标记和多段线样式决定了地图上被跟踪的位置对象的外观和风格。您可以使用自定义样式选项来匹配 Web 应用的样式。
控制跟踪的地点的可见性
Fleet Engine 中的预定义位置信息提供程序会遵循以下可见性规则来处理地图上被跟踪的位置信息对象。如果您创建自定义位置信息提供程序或派生位置信息提供程序,则可以更改可见性规则。
只有在行程进行时才能看到车辆:行程车辆从被分配到行程到下车时可见。如果行程被取消,车辆将不再可见。
所有其他地点标记始终可见:出发地、目的地和航点的所有其他地点标记始终显示在地图上。例如,无论行程或送货状态如何,行程下车点或运输送货点始终会显示在地图上。
后续步骤
请参阅您要跟踪行程的平台的相关文档: