# 锚点管理

泛舟位置服务平台秉承万物皆可定位的思想,提供锚点位置服务,开发者可以提交一个信息点(锚点)

# 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 - 锚点类型编号数组;数组为空默认所有类型锚点。