初始化
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 |
是否支持同终端多应用登录。默认关闭。 |
枚举值 |
描述 |
---|---|
HWM_AUTH_TYPE_ACCOUNT_AND_PASSWORD |
账号密码鉴权方式。 |
HWM_AUTH_TYPE_APPID |
App ID鉴权方式。 |
枚举值 |
描述 |
---|---|
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代码。