# 锚点管理
泛舟位置服务平台秉承万物皆可定位的思想,提供锚点位置服务,开发者可以提交一个信息点(锚点)
# 1、注册锚点监听器
泛舟服务的锚点相关接口调用后,响应数据通过监听器返回。接口正常调用时通过与接口同名的回调方法返回,调用异常时通过onFail方法返回。 通过返回的参数可获取对哪一个anchorId调用哪个接口异常。监听器回调函数不在UI线程,请不要直接在回调中进行UI操作。
ubiboatManager.registerUbiboatAnchorCallBack(new UbiboatAnchorCallBack() {
@Override
public void addAnchor(Anchor anchor) {
}
@Override
public void deleteAnchor(String anchorId) {
}
@Override
public void enableAnchor(String anchorId, boolean enable) {
}
@Override
public void setUbiboatIdExpirationTime(String anchorId, String expirationTime) {
}
@Override
public void getAnchorByUbiboatId(Anchor anchor) {
}
@Override
public void getAnchorListByGroups(List<Anchor> anchor) {
}
@Override
public void onFail(String anchorId, StatusResp statusResp) {
Log.i(TAG, "锚点id:" + anchorId
+ " 调用接口类型:" + statusResp.getType()
+ " 状态码:" + statusResp.getStatus()
+ " 消息:" + statusResp.getMsg()
);
}
});
监听器返回说明
- StatusResp类说明
字段 | 类型 | 描述 |
---|---|---|
status | int | 响应状态 |
msg | String | 响应消息 |
type | int | 响应类型 |
type说明:
返回值 | 类型 | 描述 |
---|---|---|
RespType.GET_NEARDIS | String | 获取与指定ID的距离 |
RespType.GET_NEARINFO | String | 获取附近的人、锚点 |
RespType.ADD_ANCHOR | String | 添加锚点 |
RespType.DEL_ANCHOR | String | 删除锚点 |
RespType.ENABLE_ANCHOR | String | 启用/禁用锚点 |
RespType.SET_ANCHOR | String | 设置锚点 |
RespType.GET_ANCHOR | String | 获取锚点列表 |
RespType.GET_ANCHOR_LIST | String | 获取指定类型的锚点列表 |
状态和响应消息说明:
状态码 | 响应消息 |
---|---|
StatusType.NORMAL | String |
StatusType.BLE_OFF | 用户设备蓝牙关闭 |
StatusType.WRITE_PERMISSION | 没有写权限 |
StatusType.SERVICE_NOT_BIND | 没有绑定泛舟服务 |
StatusType.BLE_NOT_SUP | 用户设备不支持低功耗蓝牙 |
StatusType.CONTEXT_NULL | 没有设置CONTEXT |
StatusType.NO_DATA | 没有查询到数据 |
StatusType.KEY_NOT_MATCH | 请求APP KEY错误 |
StatusType.SERVICE_EXCEPTION | 服务异常 |
StatusType.LOCATION_OFF | 用户设备位置服务关闭 |
StatusType.KEY_EMPTY | APP KEY 为空 |
StatusType.WIFI_OFF | 用户设备wifi关闭 |
StatusType.CAN_NOT_CAL | 无法计算 |
StatusType.NETWORK | 网络异常 |
StatusType.CAN_NOT_COLLECTION | 没有采集到anchor数据,请稍后在试 |
StatusType.ANCHOR_NOT_EXIST | 没有此anchor |
# 2.添加一个锚点
注意:通过sdk调用addAnchor添加锚点时必须启用泛舟ubiboatManager.start();
ubiboatManager.addAnchor( String ubiboatAnchorId, String groupId, String expirationTime);
参数:
- ubiboatAnchorId - 每个锚点的唯一编号。
- groupId - 锚点的类型编号。
- expirationTime - 锚点的过期时间,当到达该时间时锚点删除。
# 3.删除一个锚点
ubiboatManager.deleteUbiboatAnchor(String ubiboatAnchorId);
参数:
- ubiboatAnchorId - 每个锚点的唯一编号。
# 4.启用/禁用锚点
ubiboatManager.enableUbiboatId(String ubiboatAnchorId,boolean enable);
参数:
- ubiboatAnchorId - 每个锚点的唯一编号。
- enable - true 启用;false 禁用 。
# 5.设置锚点的过期时间
ubiboatManager.setUbiboatIdExpirationTime(String ubiboatAnchorId, String expirationTime);
参数:
- ubiboatAnchorId - 每个锚点的唯一编号。
- expirationTime - 锚点的过期时间,当到达该时间时锚点删除。
# 6.根据锚点ID 来获取锚点
ubiboatManager.getAnchorByUbiboatId(String ubiboatAnchorId);
参数:
- ubiboatAnchorId - 每个锚点的唯一编号。
# 7.根据类型来获取应用的锚点列表
ubiboatManager.getAnchorListByGroups(List<String> groupIds);
参数:
- groupIds - 锚点类型编号数组;数组为空默认所有类型锚点。