一、概述
车辆账号体系,为每个车辆用户创建一个账号 ID,通过该账号 ID,实现车辆个性化设置(座椅、侧后视镜等)、车机Pad个性化设置、车机Pad内应用的账户互通等功能,在多人共用一辆车,车辆可以根据当前驾驶员身份,自动完成上述个性化设置的切换。本文档将对应用账号同账号互通,进行详细阐述。二、接入说明与流程
车辆账号体系,对应用提供当前车辆账号信息、账号状态访问的权限,应用根据自己的账号逻辑,实现同车辆账号快速登录应用账号、应用账号同车辆账号绑定等功能,从而实现应用账号随车辆账号同步登录与登出功能。如下为车辆账号体系接入整体流程:
- 双方签订保密协议
- 应用方申请账号接入 APPID+APPSecret
- 应用根据自身需求,按照本文档定义的接口定义,实现接口及功能
- 使用提供的车辆账号应用自测通过
- 提交 APK 至车辆账号团队测试
- 提交系统集成或上架应用市场
三、账号产品对接流程
3.1应用启动后判断账号状态因账号在同一辆车上,会随实际用车人不同,切换不同的账号,所以应用在启动后或者在收到账号变动通知的广播,调用该接口获取账号最新的状态。
具体步骤说明如下:
- 应用启动后,调用账号 SDK,获取账号用户的 openID;
- 账号 SDK 状态值返回对应状态如下:
nowLoginOpenId 不为空时,表示账号处于登录状态,此时根据 isPkgAuth 的值判断是否需要登录对应的应用账号;
nowLoginOpenId 为空时,表示账号处于未登录状态,此时需要获取lastLoginOpenId 的值,若该值不为空,需要判断应用当前登录账号是否同lastLoginOpenId 有绑定关系,若有,则退出当前账号;若无,则保持当前状态;
通过以上流程,实现应用同账号同进同退效果,并且不局限于已登录的车辆,对于新车辆,账号登录后,应用也应能实现自动登录。具体实现场景如下: - 用户1在A车辆登录账号,打开应用,使用账号登录应用;
- 用户2在A车辆登录账号,打开应用,使用账号登录应用;
- A车辆在用户1和用户2两个用户之前切换登录时,应用实现对应账号同步切换;
- A车辆登录了新用户3,生态用户保持未登录状态,按照应用业务逻辑,引导用户使用账号登录或者绑定账号;
- 用户1在B车辆登录账号,用户打开应用,应用能够实现同步登录用户1的账号;
3.2应用获取账号用户信息及登录凭证
账号用户信息获取流程参考 OAuth2.0 标准协议
具体步骤说明如下:
1.应用APP端调用账号SDK,获取Authorization Code,同时传入需要的用户信息范围;
2. 账号弹出用户授权弹窗,同时表明需要授予的权限,用户点击确认后,返回Authorization Code 给应用,用户授权弹窗提示:
3.应用车载应用调用应用车载后台,让应用车载后端同后端交互,获得 Access_token、refresh_token,用户信息等数据,然后应用车载后台将上述信息返回应用车载应用端;
4.授权流程完成。
3.3应用使用账号授权登录流程
应用通过车辆账号授权获取账号绑定的手机号,使用该手机号在输入短信验证码之后登录应用账号体系,示例流程如下:
3.4应用账号登录之后绑定账号流程
应用通过上述鉴权流程后,获取车辆账号的 openID,同应用自身账号体系进行绑定,示例流程如下: