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 接口介绍

implementation 'com.ibroadlink:BLLetProductAndroid:1.0.+'
  // 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()