APPSDK 产品管理说明
API概览
名称 | 描述 |
---|---|
获取品类列表 | getProductCatList |
获取品类下产品列表 | getProductList |
获取品类下Pid列表 | getPidListByCat |
获取品类下品牌列表 | getProductBrandList |
获取某品牌的产品列表 | getProductListByBrand |
根据Pid获取产品列表 | getProductInfo |
根据Pid列表批量获取产品版本信息 | getProductVersionBatch |
扫码获取产品详情 | getProductProductInfoByQr |
查询产品绑定关系列表 | getBindRelation |
根据Pid列表批量获取产品资源版本 | getProductResVersion |
产品资源下载 | downloadRes |
产品资源批量下载 | downloadResBatch |
文件下载 | downloadFile |
获取多语言列表 | getAllLocationList |
查询翻译文件版本 | getLangVerionInfo |
翻译文件下载 | downloadLangFile |
获取国家地区列表 | getAllLocationList |
获取所有场景分类 | getSceneCatList |
获取图库列表 | getImgLibList |
获取预定义房间列表 | getPredefinedRoomList |
获取电工电器负载类型列表 | getElecLoadList |
根据SN查询设备Pid和Did | getDevPidAndDidBySn |
根据请求者Ip定位 | getLocationByIp |
1. 概述
封装了云端产品相关接口,包括品类、品牌、资源、多语言、地区列表、预定义房间、场景品类等。
2. API 接口介绍
- 库集成,在项目的build.gradle中添加:
implementation 'com.ibroadlink:BLLetProductAndroid:1.0.+'
- 初始化,在Application中BLLet.init()获得lid后,初始化BLSProduct,注册用户登录回调。
// BLLet初始化
BLLet.init(this, license, "", blConfigParam);
// 初始化之后,获取lid
String lid = BLLet.getLicenseId();
// 初始化家庭管理接口, 如果使用集群服务,domain填null即可
BLProduct.init(lid, domain);
// 添加登录成功回调函数
BLAccount.addLoginListener(BLProduct.getLoginListener());
- 初始化方法
/**
* 初始化
*
* @param licenseId 证书
* @param domain 域名(可传空,默认使用appservice)
* @param httpTimeout http请求超时时间,默认10秒
* @return 实例
*/
public BLProductImpl init(String licenseId, String domain, int httpTimeout)
/**
* 初始化
*
* @param licenseId 证书
* @param domain 域名(可传空,默认使用appservice)
* @return 实例
*/
public BLProductImpl init(String licenseId, String domain)
2.1 相关接口
2.1.1 品类信息 InfoCategory
public class InfoCategory implements Parcelable{
public String categoryid; //品类ID
public String name; //名称
public int rank; //排序
public String link; //品类图标链接
public InfoProduct product; // null
public List<String> pids; //品类下pid列表
}
产品信息 InfoProduct
public class InfoProduct implements Parcelable {
public String pid;
public int platformtype; //平台
public String name; //名称
public String icon; //图标 280*280
public String shortcuticon; //图标 150*150
public String beforecfgpurl; //配置前图片
public String configpic; //配网图片
public String cfgfailedurl; //配网失败图片
public String depid; //null
public String description; //描述信息
public String brandid; //品牌ID
public String brandname; //品牌名称
public int protocol; //协议
public String model; //型号
public String type; //basic
public String productversion; //版本号
public String productkitversion; //Kit后台版本
public ProductVersionDetailBean productversiondetail; //版本详情
public ProductVersionDetailBean productkitversiondetail; //Kit后台版本详情
public String scripturl; //脚本Url
public String uiurl; //UI包Url
public String manufurl; //手册Url
public String profileurl; //Profile Url
public String productstatus; //产品状态
public String scripttype; //脚本类型
public String alias; //别名
public String resetpic; //复位图片
public String resettext; //复位说明
public String configtext; //配网说明
public int commonflag; //?
public String category; //品类
public String mappid; //映射的产品pid
public String profile; //Profile
public List<String> ads; //广告Url数组
public List<IntroductionBean> introduction; // 介绍说明
public List<String> pids; //null
}
2.1.2 获取品牌列表
/**
* 获取品牌列表
*/
public static ResultGetBrandList getProductBrandList(ParamGetProductBrandList param)
2.1.3 获取品类下产品列表
/**
* 获取品类下产品列表
*/
public static ResultGetProductList getProductList(ParamGetProductList param)
2.1.4 获取品类下Pid列表
/**
* 获取品类下Pid列表
*/
public static ResultPidList getPidListByCat(ParamGetPidListByCat param){
2.1.5 获取品类下品牌列表
/**
* 获取品牌列表
*/
public static ResultGetBrandList getProductBrandList(ParamGetProductBrandList param)
2.1.6 获取某品牌的产品列表
/**
* 获取某品牌的产品列表
*/
public static ResultGetProductList getProductListByBrand(ParamGetProductBrandFilteredList param)
2.1.7 根据产品pid获取产品详情
/**
* 根据产品pid获取产品详情
*/
public static ResultGetProductInfo getProductInfo(ParamGetProductInfo param)
2.1.8 根据pid列表批量获取产品版本
/**
* 根据pid列表批量获取产品版本
*/
public static ResultGetProductVersionBatch getProductVersionBatch(ParamGetProductVersion param)
2.1.9 扫码获取产品详情
/**
* 扫码获取产品详情
*/
public static ResultGetProductInfo getProductProductInfoByQr(ParamGetProductInfoByQr param)
2.1.10 查询绑定产品关系列表
/**
* 绑定产品关系列表查询
*/
public static ResultPidList getBindRelation(ParamGetBindRelation param)
2.1.11 根据Pid列表批量获取产品资源版本
/**
* 根据pid列表获取产品资源版本
*/
public static ResultGetResVersion getProductResVersion(ParamGetResVersion param)
2.1.12 产品资源下载
/**
* 产品资源下载
*
* @param savePath 文件保存路径
*/
public static BLBaseResult downloadRes(ParamDownloadRes param, String savePath)
2.1.13 产品资源批量下载
/**
* 产品资源批量下载(目前只支持设备profile)
*
* 文件内容: zip压缩包的形式通过body返回,其中只返回和查询版本不一致的产品资源。
* zip包解压后形式如下例:
*
* |-000000000000000000000000fd7e0000.bin
* |-000000000000000000000000fc7e0000.bin
* |-versions.json
*
* versions.json中记录产品资源版本号,例如:
*
* [
* {
* "pid":"000000000000000000000000fd7e0000",
* "version":"6eaaa23d4ac17b47d6cb48c7362eb40c"
* }
* ]
*
* @param tempPath 文件临时路径
* @param savePath 文件保存路径
*/
public static BLBaseResult downloadResBatch(ParamDownloadResBatch param, String tempPath, String savePath)
2.1.14 文件下载
/**
* 文件下载
*
* @param fileUrl 文件下载的子url
* @param savePath 文件保存路径
*/
public static BLBaseResult downloadFile(String fileUrl, String savePath)
2.1.15 获取多语言列表
/**
* 获取多语言列表
*/
public static ResultLangList getLangList()
2.1.16 多语言版本查询
/**
* 多语言版本查询
*/
public static ResultGetVersion getLangVersionInfo()
2.1.17 多语言翻译下载
/**
* 多语言翻译下载
*/
public static BLBaseResult downloadLangFile(ParamDownloadLangFile param, String savePath)
2.1.18 获取国家地区列表
/**
* 获取国家地区列表
*/
public static ResultGetAllLocationList getAllLocationList()
2.1.19 获取所有场景分类
/**
* 获取所有场景分类
*/
public static ResultSceneCatList getSceneCatList()
2.1.20 查询图库列表
/**
* 图库列表查询
* 使用downloadFile接口下载文件
*/
public static ResultGetImageLibList getImgLibList()
2.1.21 获取预定义房间列表
/**
* 获取预定义房间列表
*/
public static ResultGetPreDefinedRoomList getPredefinedRoomList()
2.1.22 获取电工电器负载类型列表
/**
* 获取电工电器负载类型列表
*/
public static ResultGetElecLoadList getElecLoadList(ParamGetElecLoadList param)
2.1.23 根据SN查询pid和did
/**
* 根据SN查询pid和did
*/
public static ResultGetPidAndDidBySn getDevPidAndDidBySn(ParamGetPidAndDidBySn param)
2.1.24 根据请求者IP定位
/**
* 根据请求者IP定位
*/
public static ResultGetLocationByIp getLocationByIp()