HarmonyOS Native SDK
Initialization

Initialization

Configure and initialize the HarmonyOS core SDK before initializing Bluetooth, LAN, and MQTT capabilities.

Service configuration

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 configures the OpenAPI host, GizProductInfo configures a product, and GizConfiguration combines app, product, and region information. Refer to the assigned Gizwits service and OHPM for current requirements.

Query a product configuration

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

Initialize the core SDK

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

The optional second parameter is an app-owned sandbox log directory, such as UIAbilityContext.filesDir. initSDK() is the equivalent compatibility name.

Debug logging

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

Disable debug logging for production releases.

Initialize transport capabilities

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 can be initialized before login. It waits for a user token and bound-device list before connecting automatically.

Check initialization state

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

Reading configuration or the user manager before initialization throws.

Read module versions

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

Never write AppSecret or ProductSecret to hilog, analytics, or a public repository.