鸿蒙HarmonyOS SDK
初始化

初始化

HarmonyOS 原生 SDK 应先配置和初始化核心 SDK,再初始化 Bluetooth、LAN、MQTT 通信能力。

服务配置

import {
  GizConfiguration,
  GizProductInfo,
  GizServerInfo,
} from '@gizwits/smart-sdk';
 
const serverInfo = new GizServerInfo('api.gizwits.com');
const product = new GizProductInfo('your-product-key', 'your-product-secret');
const configuration = new GizConfiguration(
  'your-app-id',
  'your-app-secret',
  [product],
  serverInfo
);

GizServerInfo 配置 OpenAPI 地址;GizProductInfo 配置产品信息;GizConfiguration 汇总 App、产品和服务区域。服务地址和版本要求以机智云分配信息及 OHPM 页面为准。

查询产品配置

const configuredProduct = configuration.getProductWithProductKey('your-product-key');
if (configuredProduct === undefined) {
  throw new Error('Product is not configured');
}

初始化核心 SDK

import { GizSDKManager } from '@gizwits/smart-sdk';
 
GizSDKManager.initialize(configuration);

可选的第二个参数为日志目录,应传入调用方已经持有的应用沙箱路径,例如 UIAbilityContext.filesDirinitSDK() 是兼容旧命名的等价入口。

调试日志

GizSDKManager.setDebug(true);
const debugEnabled: boolean = GizSDKManager.isDebug();

正式发布前建议关闭调试日志。

初始化通信能力

import { GizBluetoothManager } from '@gizwits/smart-sdk-bluetooth';
import { GizLanManager } from '@gizwits/smart-sdk-lan';
import { GizMqttManager } from '@gizwits/smart-sdk-mqtt';
 
GizBluetoothManager.initialize();
GizLanManager.initialize();
GizMqttManager.initialize();

MQTT 可以在用户登录前初始化,它会等待用户令牌和绑定设备列表就绪后自动连接。

检查初始化状态

const initialized: boolean = GizSDKManager.isInitialized();
const currentConfiguration = GizSDKManager.getConfiguration();
const userManager = GizSDKManager.getUserManager();

未初始化时读取配置或用户管理器会抛出异常。

读取模块版本

const coreVersion: string = GizSDKManager.getVersion();
const bluetoothVersion: string = GizBluetoothManager.getVersion();
const lanVersion: string = GizLanManager.getVersion();
const mqttVersion: string = GizMqttManager.getVersion();
⚠️

AppSecret 和 ProductSecret 不要写入 hilog、业务埋点或公开仓库。