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