跳到主要内容

SDK 初始化

1. Initialize​

初始化宿主 SDK,这是使用 SDK 的第一步。

接口原型​

TJHostHandle.initialize(sdkKey, sdkSecret, completion)

参数说明​

参数数据类型必填属性说明
sdkKeyString是SDK 密钥
sdkSecretString是SDK 密钥
completionFunction是初始化完成回调 (hostHandle, error) => {}

代码示例​

const { TJHostHandle } = require('webglhost-runtime-pc');

TJHostHandle.initialize('your-sdk-key', 'your-sdk-secret', (hostHandle, error) => {
if (error) {
console.error('SDK initialization failed:', error);
return;
}

console.log('SDK initialized successfully');
// 保存 hostHandle 以便后续使用
this.hostHandle = hostHandle;
});

2. 获取宿主版本号​

获取当前宿主 SDK 的版本信息。

接口原型​

TJHostHandle.getVersionName()
TJHostHandle.getVersionCode()

代码示例​

const versionName = TJHostHandle.getVersionName(); // e.g., "1.0.0"
const versionCode = TJHostHandle.getVersionCode(); // e.g., 1

console.log(`Host Version: ${versionName} (${versionCode})`);

3. 获取宿主 commit ID​

获取当前宿主 SDK 的提交 ID,用于版本追踪。

接口原型​

TJHostHandle.getCommitId()

代码示例​

const commitId = TJHostHandle.getCommitId();
console.log(`Host Commit ID: ${commitId}`);

完整初始化示例​

const { TJHostHandle, HostRuntimeError } = require('webglhost-runtime-pc');

class GameHost {
constructor() {
this.hostHandle = null;
}

async initialize() {
return new Promise((resolve, reject) => {
TJHostHandle.initialize(
process.env.SDK_KEY,
process.env.SDK_SECRET,
(hostHandle, error) => {
if (error) {
console.error('SDK initialization failed:', error.code, error.message);
reject(error);
return;
}

this.hostHandle = hostHandle;
console.log('SDK initialized successfully');
console.log(`Version: ${TJHostHandle.getVersionName()}`);
console.log(`Commit: ${TJHostHandle.getCommitId()}`);

resolve(hostHandle);
}
);
});
}
}

// Usage
const gameHost = new GameHost();
gameHost.initialize()
.then(() => {
console.log('Ready to create game handles');
})
.catch(error => {
console.error('Initialization error:', error);
});