# Android泛舟动力SDK
# 产品概述
Android 泛舟动力SDK是一套简单易用的位置服务接口,您可以使用这套API为应用程序实现获取所在的场景、附近的人员相对距离功能。
# 功能介绍
泛舟动力SDK的核心能力就是帮助开发者快速、精准的获取附近的人员。开发者只需按照如下流程操作,即可获取用户与附近周边的人员相对距离。
public UbiboatManager ubiboatManager = null;
/** 初始化UbiboatManager类,通过该对象来使用泛舟服务。
* ctx - 需要全局有效的context,建议通过getApplicationContext传入
* appKey - 服务密钥,在泛舟平台注册应用申请,每个应用唯一。同一个应用下可以返回不同平台android、web、iOS的附近的用户
* appUserId - 每个应用中用户的唯一id,返回附近的人也是返回用户的id。
*/
ubiboatManager = UbiboatManager.getInstance(getApplicationConext(), "appKey", "appUserId");
/** 注册监听器。
* 泛舟服务响应数据通过监听器返回。通过判断返回类型来获取不同接口的结果。监听器回调函数不在UI线程
*/
ubiboatManager.registerUbiboatListener(new UbiboatListener() {
@Override
public void onUbiboatResp(BaseUbiboatResp baseUbiboatResp) {
switch (baseUbiboatResp.type){
case BaseUbiboatResp.RespType.NEAR://返回附近的人
if(baseUbiboatResp.status==1){
(NearResp) baseUbiboatResp;
}
break;
case BaseUbiboatResp.RespType.DIS://返回与指定id的用户的距离
if(baseUbiboatResp.status==1) {
(DisResp) baseUbiboatResp;
}
break;
case BaseUbiboatResp.RespType.STATUS://返回异常状态信息,详细参考主要实现
(StatusResp) baseUbiboatResp;
break;
}
}
});
//启动泛舟服务.如该接口未调用,在调用服务接口时,会自动启动泛舟服务。但第一次的服务请求结果会延时返回。
ubiboatManager.start();
/** 获取周围指定范围内的信息,包含id、距离。
* 在初始化泛舟服务后,如立即使用服务接口,此时服务可能还未绑定,SDK会等待绑定成功后再执行,结果会延时返回
* dis - 指定范围,单位m
* type- 类型
*/
ubiboatManager.getNearPoi(dis,type)
# 服务结果获取
监听器返回说明
泛舟监听器UbiboatListener回调方法中返回baseUbiboatResp是基类,所有响应数据继承该类,通过该参数的type字段来区分具体的响应服务类型。
- BaseUbiboatResp类说明
字段 | 类型 | 描述 |
---|---|---|
status | int | 响应状态 |
msg | String | 响应消息 |
type | int | 响应类型 NEAR:附近的人 DIS:指定距离 STATUS:异常状态 |
附近的人接口调用返回NearResp示例:
{
"type": 1,
"status": 1,
"msg": "success",
"nearPerson": [{
"appUserId": "aa",
"distance": 0.8060606060606061,
"time": "2021-07-02 19:32:36"
}]
}
- nearPerson - 附近的人数组
- appUserId -附近的人userId
- distance -相对距离
查询指定用户id距离接口调用返回DisResp示例:
{
"type": 0,
"status": 1,
"msg": "success",
"appUserId": "bb",
"distance": 1.80,
"time": "2021-07-02 19:32:36"
}
- appUserId -指定的用户userId
- distance -相对距离
异常返回StatusResp示例:
{"msg":"WIFI未打开!","status":12,"type":3}
# 服务优势
-无需地图: 泛舟动力服务在进行距离计算时是进行相对计算,不需要基于某个地图的坐标系。
-无需硬件投入: 服务不需要额外的基站网络等设备投入
-覆盖广: 在无基站、无gps信号如地铁等场景下也可使用
# 应用场景
社交: 为基于位置的社交应用提供精确距离的附近的人、个性化推荐等服务。
智能硬件: 可应用于防丢、室内地铁等无GPS信号场景下的定位。
O2O: 基于用户相对距离,优化送货体验。
# 账号与Key的申请
注册成为泛舟动力开发者需要分三步:
第一步,注册泛舟动力开发者;
第二步,去控制台创建应用;
第三步,获取key
入门指南 →