APPSDK 初始化说明
Android SDK 初始化
- SDK 申请到的 License 需要配置在
AndroidManifest.xml
内,以meta-data
格式传入。
<application>
<meta-data
android:name="LET_LICENSE"
android:value="Your_License" />
<meta-data
android:name="LET_CHANNEL"
android:value="" />
......
</application>
- SDK 初始化需要配置相应的参数,如果不配置,则都采用默认参数。
public class BLApplcation extends Application{
@Override
public void onCreate() {
super.onCreate();
sdkInit();
}
/**
* APPSDK 初始化函数
*/
private void sdkInit(){
// 配置参数类
BLConfigParam blConfigParam = new BLConfigParam();
// 1. 设置日志级别,默认为 4 全部打印
blConfigParam.put(BLConfigParam.CONTROLLER_LOG_LEVEL, "4");
// 2. 设置底层打印日志级别,默认为 4 全部打印
blConfigParam.put(BLConfigParam.CONTROLLER_JNI_LOG_LEVEL, "4");
// 3. 设置脚本保存目录, 默认在 ../let/ 目录下
blConfigParam.put(BLConfigParam.SDK_FILE_PATH, "");
// 4. 设置本地控制超时时间,默认 3000ms
blConfigParam.put(BLConfigParam.CONTROLLER_LOCAL_TIMEOUT, "3000");
// 5. 设置远程控制超时时间,默认 5000ms
blConfigParam.put(BLConfigParam.CONTROLLER_REMOTE_TIMEOUT, "5000");
// 6. 设置控制重试次数,默认 1
blConfigParam.put(BLConfigParam.CONTROLLER_SEND_COUNT, "1");
// 7. 设置设备控制支持的网络模式,默认 -1 都支持。 0 - 局域网控制,非0 - 局域网/远程都支持。
blConfigParam.put(BLConfigParam.CONTROLLER_NETMODE, "-1");
// 8. 设置脚本和UI文件下载资源平台。 默认 0 老平台。 1 - 新平台
blConfigParam.put(BLConfigParam.CONTROLLER_SCRIPT_DOWNLOAD_VERSION, "1");
// 9. 批量查询设备在线状态最小设备数
blConfigParam.put(BLConfigParam.CONTROLLER_QUERY_COUNT, "8");
// 10. 使用APPService服务,此功能为新集群,若为老集群,请设置为 0
blConfigParam.put(BLConfigParam.APP_SERVICE_ENABLE, "1");
// 11. 设置云端服务器访问域名,如不设置,则使用SDK解析License出的lid自行拼接
blConfigParam.put(BLConfigParam.APP_SERVICE_HOST, "https://Your service host");
// 12. 设置设备连接服务器信息
JSONObject jsonObject = new JSONObject();
jsonObject.put("tcp", "xxx");
jsonObject.put("http","xxx");
blConfigParam.put(BLConfigParam.DEVICE_CONNECTION_SERVER_HOST, jsonObject.toJSONString());
// 初始化核心库
BLLet.init(this, blConfigParam);
// 初始化之后,获取 lid 和 companyId ,用于其他类库的初始化
String lid = BLLet.getLicenseId();
String companyId = BLLet.getCompanyid();
// 初始化家庭库
BLFamily.init(companyId, lid);
// 初始化账户库
BLAccount.init(companyId, lid);
// 初始化红外码库
BLIRCode.init(lid, blConfigParam);
// 添加登录成功回调函数
BLAccount.addLoginListener(BLLet.Controller.getLoginListener());
BLAccount.addLoginListener(BLFamily.getLoginListener());
BLAccount.addLoginListener(BLIRCode.getLoginListener());
}
}
iOS SDK 初始化
iOS 初始化的时候,传入申请到的 License
, 配置相关参数如下:
- (void)loadAppSdk {
//全局参数配置
BLConfigParam *config = [BLConfigParam sharedConfigParam];
config.appServiceEnable = 1; // 2019年之后的APP版本都使用集群方式
config.controllerScriptDownloadVersion = 1; // 2019年之后的APP都使用新的脚本下载服务
config.appServiceHost = @"https://Your service host"; // 配置APP连接集群地址
config.controllerSendCount = 1; // 设备控制重试次数
config.controllerLocalTimeout = 3000; // 设备控制局域网超时时间
config.controllerRemoteTimeout = 5000; // 设备控制远程超时时间
config.deviceConnectServiceInfo = @[
@"tcp":@"xxx",
@"http":@"xxx"
] // 设置设备连接服务器信息
//BLLetCore
self.let = [BLLet sharedLetWithLicense:SDK_LICENSE]; // Init APPSDK
[self.let setDebugLog:BL_LEVEL_ALL]; // Set APPSDK debug log level
[self.let.controller setSDKRawDebugLevel:BL_LEVEL_ALL]; // Set DNASDK debug log level
[self.let.controller startProbe:3000]; // Start probe device
self.let.controller.delegate = self;
NSString *licenseId = self.let.configParam.licenseId;
NSString *companyId = self.let.configParam.companyId;
//BLLetAccount
self.account = [BLAccount sharedAccount];
//BLLetFamily
self.familyController = [BLFamilyController sharedManager];
//BLLetIRCode
self.ircode = [BLIRCode sharedIrdaCode];
}