NIM Cocos2d-x SDK  2.2.0
Public Types | Static Public Member Functions | List of all members
nim::Client Class Reference

全局管理功能;主要包括SDK初始化/清理、客户端登录/退出等功能 More...

#include <nim_cpp_client.h>

Public Types

typedef std::function< void(const LoginRes &)> LoginCallback
 
typedef std::function< void(NIMResCode)> LogoutCallback
 
typedef std::function< void(const KickoutRes &)> KickoutCallback
 
typedef std::function< void(void)> DisconnectCallback
 
typedef std::function< void(const MultiSpotLoginRes &)> MultiSpotLoginCallback
 
typedef std::function< void(const KickOtherRes &)> KickOtherCallback
 
typedef std::function< void(int, bool)> MultiportPushConfigCallback
 

Static Public Member Functions

static bool Init (const std::string &app_key, const std::string &app_data_dir, const std::string &app_install_dir, const SDKConfig &config)
 
static void Cleanup (const std::string &json_extension="")
 
static bool Login (const std::string &app_key, const std::string &account, const std::string &password, const LoginCallback &cb, const std::string &json_extension="")
 
static NIMLoginState GetLoginState (const std::string &json_extension="")
 
static void Relogin (const std::string &json_extension="")
 
static void Logout (NIMLogoutType logout_type, const LogoutCallback &cb, const std::string &json_extension="")
 
static bool KickOtherClient (const std::list< std::string > &client_ids)
 
static void RegReloginCb (const LoginCallback &cb, const std::string &json_extension="")
 
static void RegKickoutCb (const KickoutCallback &cb, const std::string &json_extension="")
 
static void RegDisconnectCb (const DisconnectCallback &cb, const std::string &json_extension="")
 
static void RegMultispotLoginCb (const MultiSpotLoginCallback &cb, const std::string &json_extension="")
 
static void RegKickOtherClientCb (const KickOtherCallback &cb, const std::string &json_extension="")
 
static void RegSyncMultiportPushConfigCb (const MultiportPushConfigCallback &cb, const std::string &json_extension="")
 
static void SetMultiportPushConfigAsync (bool switch_on, const MultiportPushConfigCallback &cb, const std::string &json_extension="")
 
static void GetMultiportPushConfigAsync (const MultiportPushConfigCallback &cb, const std::string &json_extension="")
 
static void UnregClientCb ()
 

Detailed Description

全局管理功能;主要包括SDK初始化/清理、客户端登录/退出等功能

Member Typedef Documentation

◆ DisconnectCallback

typedef std::function<void(void)> nim::Client::DisconnectCallback

断网通知回调模板

◆ KickOtherCallback

typedef std::function<void(const KickOtherRes&)> nim::Client::KickOtherCallback

将多端下线回调模板

◆ KickoutCallback

typedef std::function<void(const KickoutRes&)> nim::Client::KickoutCallback

被踢通知回调模板

◆ LoginCallback

typedef std::function<void(const LoginRes&)> nim::Client::LoginCallback

登录回调模板

◆ LogoutCallback

typedef std::function<void(NIMResCode)> nim::Client::LogoutCallback

登出回调模板

◆ MultiportPushConfigCallback

typedef std::function<void(int, bool)> nim::Client::MultiportPushConfigCallback

多端推送控制开关回调模板

◆ MultiSpotLoginCallback

typedef std::function<void(const MultiSpotLoginRes&)> nim::Client::MultiSpotLoginCallback

多端登录通知回调模板

Member Function Documentation

◆ Cleanup()

void nim::Client::Cleanup ( const std::string &  json_extension = "")
static

NIM SDK清理

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ GetLoginState()

NIMLoginState nim::Client::GetLoginState ( const std::string &  json_extension = "")
static

获取客户端登录状态

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
NIMLoginState 登录状态

◆ GetMultiportPushConfigAsync()

void nim::Client::GetMultiportPushConfigAsync ( const MultiportPushConfigCallback cb,
const std::string &  json_extension = "" 
)
static

获得多端推送设置

Parameters
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void

◆ Init()

bool nim::Client::Init ( const std::string &  app_key,
const std::string &  app_data_dir,
const std::string &  app_install_dir,
const SDKConfig &  config 
)
static

NIM SDK初始化

Parameters
[in]app_key应用注册的APP KEY
[in]app_data_dir使用默认路径时只需传入单个目录名(不以反斜杠结尾),使用自定义路径时需传入完整路径(以反斜杠结尾,并确保有正确的读写权限!)
[in]app_install_dirSDK动态库所在的目录全路径(如果传入为空,则按照默认规则搜索该动态库)
[in]config初始化参数
Returns
bool 返回值true: 成功, false: 失败

◆ KickOtherClient()

bool nim::Client::KickOtherClient ( const std::list< std::string > &  client_ids)
static

将本帐号的其他端踢下线

Parameters
[in]client_ids设备标识
Returns
bool 检查参数如果不符合要求则返回失败, 接口调用成功后的结果通过注册RegKickOtherClientCb回调得到

◆ Login()

bool nim::Client::Login ( const std::string &  app_key,
const std::string &  account,
const std::string &  password,
const LoginCallback cb,
const std::string &  json_extension = "" 
)
static

NIM客户端登录

Parameters
[in]app_key
[in]account帐号
[in]password密码
[in]cb登录流程的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
bool 检查参数如果不符合要求则返回失败
Note
错误码 200:成功 302:账号或密码错误 403:禁止操作 408:请求超时 414:参数错误 415:网络连接出现错误 416:频率超限 422:账号被禁用

◆ Logout()

void nim::Client::Logout ( NIMLogoutType  logout_type,
const LogoutCallback cb,
const std::string &  json_extension = "" 
)
static

NIM客户端注销/退出

Parameters
[in]logout_typeLogout操作类型,其定义见nim_client_def.h
[in]cb注销/退出的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值
Note
错误码 200:成功 500:未知错误

◆ RegDisconnectCb()

void nim::Client::RegDisconnectCb ( const DisconnectCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册NIM客户端掉线回调

Parameters
[in]cb掉线的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ RegKickOtherClientCb()

void nim::Client::RegKickOtherClientCb ( const KickOtherCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册NIM客户端将本帐号的其他端踢下线结果回调

Parameters
[in]cb踢下线结果回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值
Note
错误码 200:成功

◆ RegKickoutCb()

void nim::Client::RegKickoutCb ( const KickoutCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册NIM客户端被踢回调

Parameters
[in]cb被踢的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ RegMultispotLoginCb()

void nim::Client::RegMultispotLoginCb ( const MultiSpotLoginCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册NIM客户端多点登录通知回调

Parameters
[in]cb多点登录通知的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ RegReloginCb()

void nim::Client::RegReloginCb ( const LoginCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册NIM客户端自动重连回调。重连失败时,如果不是网络错误引起的(网络相关的错误号为kNIMResTimeoutError和kNIMResConnectionError),而是服务器返回了非kNIMResSuccess的错误号, 则说明重连的机制已经失效,需要APP层调用nim_client_logout执行注销操作并退回到登录界面后进行重新登录。

Parameters
[in]cb自动重连的回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值
Note
错误码 200:成功 403:禁止操作 408:请求超时 414:参数错误 415:网络连接出现错误 416:频率超限 422:账号被禁用

◆ RegSyncMultiportPushConfigCb()

void nim::Client::RegSyncMultiportPushConfigCb ( const MultiportPushConfigCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)注册多端推送开关同步回调

Parameters
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ Relogin()

void nim::Client::Relogin ( const std::string &  json_extension = "")
static

NIM客户端手动重连(注意 APP需要统一处理自动重连/手动重连的回调,因为如果处于某次自动重连的过程中调用手动重连接口,不起作用!)

Parameters
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void 无返回值

◆ SetMultiportPushConfigAsync()

void nim::Client::SetMultiportPushConfigAsync ( bool  switch_on,
const MultiportPushConfigCallback cb,
const std::string &  json_extension = "" 
)
static

(全局回调)设置多端推送

Parameters
[in]switch_on开关
[in]cb回调函数
[in]json_extensionjson扩展参数(备用,目前不需要)
Returns
void
Note
错误码 200:成功

◆ UnregClientCb()

void nim::Client::UnregClientCb ( )
static

反注册Client提供的所有回调

Returns
void 无返回值

The documentation for this class was generated from the following file: