初始化
Init
接口描述
用于启动并且初始化SDK。
注意事项
- 调用该接口之前请先修改HwmSdk文件夹下HwmSdk.exe文件的名称。
- 该接口用于启动并初始化SDK,在调用其他接口之前必须先调用该接口并等待初始化回调结果。
- 每次调用初始化接口会重新启动SDK,之前所有设置与操作将不复存在。
- 该接口为异步接口,返回值只代表接口是否调用成功,实际业务处理结果在对应的回调函数中返回。
方法定义
1 | HWM_SDK_AGENT_API hwmsdk::HwmErrCode Init(HwmInitInfo *initInfo); |
回调函数
1 | virtual void OnInitResult(hwmsdk::HwmErrCode ret, const char* reason, HwmSdkInfo *sdkInfo) {}; |
参数描述
参数 | 是否必须 | 类型 | 描述 |
|---|---|---|---|
exePath | x64平台是必须,win32平台不用传 | char[] | SDK启动路径,SDK压缩包中HwmSdk文件夹下的exe文件所在的绝对路径。使用前请将SDK压缩包中HwmSdk文件夹下HwmSdk.exe文件名修改为期望的名称。如果HwmSdk文件夹的路径为:D:\MyApp\SDK\HwmSdk\,exe文件的名称为MySdk.exe,则exePath=D:\MyApp\SDK\HwmSdk\MySdk.exe。 注:需要UTF8编码。 |
logPath | 是 | char[] | SDK日志路径,如果不设置,则使用默认路径。 注:需要UTF8编码。 |
userDataPath | 是 | char[] | SDK用户数据路径,如果不设置,则使用默认路径。 注:需要UTF8编码。 |
appId | 是 | char[] | App ID。App ID的申请,请参考《开发指南》的"App ID的申请"章节。 |
notify | 是 | HwmAgentNotify | 通知对象。继承于基类HwmAgentNotify的类的对象。 |
callback | 是 | HwmAgentCallback | 接口回调对象。继承于基类HwmAgentCallback的类的对象。 |
authType | 是 | HwmAuthType | 鉴权方式。 |
siteType | 否 | HwmSiteType | 站点类型。默认使用国内站点(值置0)。 |
logKeepDays | 否 | unsigned int | 配置项-日志保存天数,输入有效范围为3-30,默认值0。0为不按天数删除日志。 注意:输入1和2会转换为3,大于30的值会被转换为30。 |
preferredCamera | 否 | char[] | 优选摄像头列表,填写后,初次打开摄像头按列表中的顺序选择第一个可用的摄像头。可以不填,不填按照默认顺序打开可用的摄像头。 |
isSupportMultiAppLogin | 否 | bool | 是否支持同终端多应用登录。默认关闭。 |
枚举值 | 描述 |
|---|---|
SITE_TYPE_CHINA | 国内站点 |
SITE_TYPE_AP | 亚太站点 |
参数 | 类型 | 描述 |
|---|---|---|
version | char[] | SDK版本号 |

推荐使用App ID鉴权方式。App ID的申请,请参考《开发指南》中的“App ID鉴权介绍”章节。
返回值
类型 | 描述 |
|---|---|
HwmErrCode | 成功返回0,其他值表示失败。失败返回值见错误码参考。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | //创建消息通知处理对象 static demoNotifyProc *notifyObj = new demoNotifyProc(); //创建回调函数处理对象 static demoCallbackProc *callbackObj = new demoCallbackProc(); /** *初始化接口,拉起应用 */ int CdemoBeforeLoginDlg::Init() { //组装入参结构体 hwmsdkagent::HwmInitInfo initParam; memset(&initParam, 0, sizeof(HwmInitInfo)); //(win32平台不需要)x64平台需要设置sdk路径,即exe文件路径,对exe文件重命名后,需要对应修改 //将路径转换为UTF8格式后拷贝给initParam,此处省略转换代码 strcpy_s(initParam.exePath, HWM_MAX_FILE_PATH_LEN, GetHwmSdkExePath().c_str()); //指定日志路径,将路径转换为UTF8格式后拷贝给initParam,此处省略转换代码 strcpy_s(initParam.logPath, HWM_MAX_FILE_PATH_LEN, GetLogPath().c_str()); //指定数据路径,将路径转换为UTF8格式后拷贝给initParam,此处省略转换代码 strcpy_s(initParam.userDataPath, HWM_MAX_FILE_PATH_LEN, GetUserDataPath().c_str()); //传入申请到的企业AppId strncpy_s(initParam.appId, GetAppId.c_str(), HWM_MAX_APPID_LEN); initParam.notify = notifyObj; initParam.callback = callbackObj; initParam.authType = hwmsdkagent::HWM_AUTH_TYPE_APPID; int ret = hwmsdkagent::Init(&initParam); return ret; } |

- 典型场景和接口参考中的示例代码仅作为示例用的伪代码,不能直接使用。
- 消息通知处理类demoNotifyProc和回调函数处理类demoCallbackProc的定义,请参考SDK包中的Demo代码。

