环信Window Demo和SDK已发布,一切大有可为

关于Windows SDK

Windows SDK 是为在微软Windows操作系统中集成 IM 功能提供的 SDK。用户可以用 SDK 实现 IM 功能。目前支持登录、注册、单聊、群聊、聊天室、文本消息、图片、语音、位置等消息以及透传消息,还可以实现好友管理、群组管理等功能。

集成准备

从环信官方网站获取 IM Windows SDK,SDK中目录结构如下:

|include

|-bin

|-lib

|-doc

release 目录中包含SDK的头文件、lib文件和dll文件,其中easemob_d.lib和easemob_d.dll是Debug版,doc 目录包含对 sdk 的详细说明。

集成示例

创建 EMClient

EMClient 是 IM 服务的入口,可以直接调用 EMClient 的接口,也可以通过 EMClient 获得相应 EMContactManager、EMChatManager 等进行相应的操作。

CString strAppDir = GetAppDataPath();//获取当前用户APPDATA路径

CefString sAppDir(strAppDir);

easemob::EMChatConfigsPtr configs(new easemob::EMChatConfigs(sAppDir, sAppDir, "easemob-demo#chatdemoui"));//最后一个参数是开发者从环信官方申请的AppKey

configs->setOs(EMChatConfigs::OS_MSWIN);

configs->setEnableConsoleLog(false);

configs->setClientResource("windows");

EMClient *client = EMClient::create(configs);

g_client = client;

注册、登录及登出

调用 chatclient 的 createAccount()、login()、logout() 接口可以实现注册、登录功能。

注册的示例:

easemob::EMErrorPtr result = chatClient->createAccount("zhangsan", "passw0rd");

if(result->mErrorCode == EMError::NO_ERROR) {

//注册成功

} else {

//注册失败提示错误描述

cout << result->mDescription << endl;

}

登录的示例 :

easemob::EMErrorPtr result = chatClient->login("zhangsan", "passw0rd");

if(result->mErrorCode == EMError::NO_ERROR) {

//登录成功

} else {

//登录失败提示错误描述

cout << result->mDescription << endl;

}

登出的示例 :

chatClient->logout();

注意:createAccount(), login() 是需要与后台服务器通讯的操作,可能需要一定时间,如果程序想同时显示 UI 的话,需要放在单独线程中处理。

注册连接状态监听

当掉线时,SDK 会自动重连,无需进行任何操作,通过注册连接监听来知道连接状态。

在聊天过程中难免会遇到网络问题,在此 SDK 为您提供了网络监听接口,实时监听

可以根据 disconnect 返回的 error 判断原因。若服务器返回的参数值为EMError.USER_LOGIN_ANOTHER_DEVICE,则认为是有同一个账号异地登录;若服务器返回的参数值为EMError.USER_REMOVED,则是账号在后台被删除。

class ConnectionListener : public EMConnectionListener {

public:

ConnectionListener()

{

}

virtual void onDisconnect(EMErrorPtr error);

virtual void onConnect();

};

...

...

mConnectionListener = new ConnectionListener();

g_client->addConnectionListener(mConnectionListener);

Window Demo和SDK下载:点击下载

Windows SDK 集成文档:集成指南

你可能感兴趣的:(环信Window Demo和SDK已发布,一切大有可为)