集成指南

一、预置Bonree SDK环境

解压从bonree平台上下载的win SDK文件,包含8个产出文件:

  • 动态链接库即DLL文件
  • 导出符号表即LIB文件
  • 函数声明头文件
  • 其他前置hook头文件

img

将解压文件放置到工程依赖的第三方库目录中,并配置依赖库目录(项目属性->配置属性->链接器->常规->附加库目录),确保链接的时候可以找到。

二、配置工程

静态添加

在项目中附加依赖的lib文件,选择项目属性->配置属性->链接器->输入->附加依赖项:输入BonreeSDK.lib

img

动态添加

代码添加依赖文件

#include "BonreeSDK.h"  
#pragma comment(lib,"BonreeSDK.lib")

接入

一、前置声明Hook

由于静态库函数和部分库的关键函数没有导出,需要一个前置的头文件来获取相关函数地址。

  • 在任意cpp文件中引入一个头文件(需要注意下windows头文件引用冲突)。
  • 修改下相关函数声明的头文件路径。

请根据情况按需引用

DuiLib

若使用的是DuiLib静态库,则需要在工程中使用了duilib库的模块cpp文件引用

#include "bonree_sdk_duilib_hook.hpp"

头文件。
并修改

#include "DuiLib/UIlib.h"

头文件路径,将自身模块的UIlib.h的头文件路径包含在hpp文件里。

CURL

若使用的是CURL库,则需要在工程中使用了libcurl库的模块cpp文件引用

#include "bonree_sdk_libcurl_hook.hpp"

头文件。
并修改

#include "curl/inc/curl.h"

头文件路径,将自身模块的curl.h的路径包含在hpp文件里。

MFC

若使用的是MFC库,则需要在工程中任意cpp文件引用

#include "bonree_sdk_mfc_hook.hpp"

头文件。
可能需要修改

#include <afxwin.h>

头文件路径。

QT

若使用的是qt库,则需要在工程中使用了qt库的模块cpp文件引用

#include "bonree_sdk_qt_hook.hpp"

头文件。

二、 启动与关闭

为保证数据的全方位捕获,需要在程序执行之初调用初始化接口 StartWithAppID 完成对SDK各个功能的初始化操作;
应用程序退出前需要调用注销接口 StopSDK 完成对SDK各个功能模块关闭、内存清理等操作。

示例如下:

#include <windows.h> 
#include "BonreeSDK.h"

void main(void) { 

    /*初始化SDK,需要注意的是在初始化时,必须传入平台创建应用的APPID。
    *此处参数"d3cf38d8-9cea-4db5-9712-14fe55038ae5"为示例APPID
    */
    std::wstring appid = L"d3cf38d8-9cea-4db5-9712-14fe55038ae5";
    bool ret = bonree_sdk::StartWithAppID(appid.c_str());
    if (!ret) {
        //初始化SDK失败
    }

    /*do somthing*/

    //注销SDK
    bonree_sdk::StopSDK();   
    return;
}

results matching ""

    No results matching ""