NIM 跨平台 C++ SDK
|
全局管理功能;主要包括SDK初始化/清理、客户端登录/退出等功能 更多...
#include <nim_cpp_client.h>
Public 类型 | |
typedef std::function< void(const std::function< void()> &)> | SDKClosure |
默认回调。用户可通过该回调将接口回调抛到其他线程中执行。如果注册了该回调,会在所有接口回调中调用该回调,把对应的接口回调传入。 | |
typedef std::function< void(const LoginRes &) | LoginCallback) |
登录回调 | |
typedef std::function< void(std::string *) | ReloginRequestTokenCallback) |
登录时请求新的鉴权回调 | |
typedef std::function< void(std::string *) | RequestExtensionCallback) |
登录时请求第三方鉴权扩展信息回调 | |
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 |
多端推送控制开关回调 | |
typedef std::function< void(int, bool, uint64_t)> | GetCurrentServerTimeCallback |
查询服务器当前时间回调 | |
静态 Public 成员函数 | |
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 | SetCallbackFunction (const SDKClosure &callback) |
static const SDKConfig & | GetSDKConfig () |
static void | Cleanup (const std::string &json_extension="") |
static void | Cleanup2 (const std::string &json_extension="") |
static void | LoginCustomDataToJson (const LoginParams ¶ms, std::string &loginParams) |
static void | LoginCustomDataToJson (const std::string &custom_data, std::string &strValue) |
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 | RegReloginRequestToeknCb (const ReloginRequestTokenCallback &cb, const std::string &json_extension="") |
static void | RegRequestLoginExtensionCb (const RequestExtensionCallback &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 std::string | GetSDKVersion () |
static std::string | GetCurrentUserAccount () |
static void | GetServerCurrentTime (const Client::GetCurrentServerTimeCallback &cb, bool calc_local=false) |
static void | UnregClientCb () |
全局管理功能;主要包括SDK初始化/清理、客户端登录/退出等功能
typedef std::function<void(void)> nim::Client::DisconnectCallback |
断网通知回调
typedef std::function<void(int, bool, uint64_t)> nim::Client::GetCurrentServerTimeCallback |
查询服务器当前时间回调
typedef std::function<void(const KickOtherRes&) nim::Client::KickOtherCallback) |
将多端下线回调
typedef std::function<void(const KickoutRes&) nim::Client::KickoutCallback) |
被踢通知回调
typedef std::function<void(const LoginRes&) nim::Client::LoginCallback) |
登录回调
typedef std::function<void(NIMResCode)> nim::Client::LogoutCallback |
登出回调
typedef std::function<void(int, bool)> nim::Client::MultiportPushConfigCallback |
多端推送控制开关回调
typedef std::function<void(const MultiSpotLoginRes&) nim::Client::MultiSpotLoginCallback) |
多端登录通知回调
typedef std::function<void(std::string*) nim::Client::ReloginRequestTokenCallback) |
登录时请求新的鉴权回调
typedef std::function<void(std::string*) nim::Client::RequestExtensionCallback) |
登录时请求第三方鉴权扩展信息回调
typedef std::function<void(const std::function<void()>&)> nim::Client::SDKClosure |
默认回调。用户可通过该回调将接口回调抛到其他线程中执行。如果注册了该回调,会在所有接口回调中调用该回调,把对应的接口回调传入。
|
static |
NIM SDK清理
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
NIM SDK清理如果未注销,SDK会在清理前进行注销操作
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
获取当前登录用户的 IM 账号(accid)
|
static |
获取客户端登录状态
[in] | json_extension | JSON 扩展参数(备用,目前不需要) |
|
static |
获得多端推送设置
[in] | cb | 回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
获取的 NIM SDK 的初始化配置信息
|
static |
获取SDK版本号
|
static |
获取当前服务器时间
[in] | cb | 操作结果的回调函数 |
[in] | calc_local | 是否在本地计算,false:直接到服务端查询,true:根据上次查询到的服务端时间与本地系统启动时间来计算,不会到服务端查询 |
calc_local == false
时,如果跟上次调用该方法的时间间隔小于 1000ms,SDK 会采用 calc_local == true
时的方案以减少服务端的压力,并会在回调中指明返回的时间由本地计算。code != 200
,同样会返回一个本地计算结果。
|
static |
NIM SDK初始化
[in] | app_key | 必填,在云信控制台注册的 App Key |
[in] | app_data_dir | 选填,推荐用户目录放置在系统目录{AppData\Local},默认只需要传入目录名,SDK会默认在系统目录下创建该级用户目录。如果要使用其他自定义路径,需传入绝对路径路径,并确保该目录有正确的读写权限。 |
[in] | app_install_dir | 该参数已废弃 |
[in] | config | 选填,初始化的其他可选参数,具体的成员参数及说明参见 SDKConfig |
|
static |
将使用相同 IM 账号(accid)登录的其他设备端踢下线
[in] | client_ids | 设备标识数组 |
|
static |
登录 IM。
[in] | app_key | 选填,您的应用在云信的账号(App Key),可在云信控制台创建应用,获取 App Key 如果不填,则使用初始化时填入 App Key;如果调用本接口时填入,则使用新填入的 App Key |
[in] | account | 必填,用户的 IM 账号(accid) 可在云信控制台注册 IM 账号(仅适用于调试环境),也可调用服务端 API 注册(适用于正式生产环境) |
[in] | password | 必填,IM 账号对应的密码(token) token 在注册 IM 账号时获取 |
[in] | cb | 登录流程的回调函数 |
[in] | json_extension | JSON 扩展参数(v5.7.0 起支持) |
|
static |
将登录参数 LoginParams 转换为 JSON 格式字符串
[in] | params | 登录参数,成员参数详情请参见 LoginParams |
[out] | loginParams | JSON 格式字符串 |
|
static |
将login 字定义数据 转换到 LoginParams json格式字符串
[in] | custom_data | 登录时的自定义数据 |
[out] | strValue | JSON 格式字符串 |
|
static |
登出 IM ,注销登录
[in] | logout_type | Logout操作类型,其定义参见NIMLogoutType |
[in] | cb | 登出 IM 的回调函数 |
[in] | json_extension | JSON 扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册 IM 客户端掉线回调
[in] | cb | 掉线的回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册 IM 客户端将本帐号的其他端踢下线结果回调
[in] | cb | 踢下线结果回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册NIM客户端被踢回调
[in] | cb | 被踢的回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册 IM 客户端多端登录通知回调
[in] | cb | 多点登录通知的回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册 IM 客户端自动重连的回调
[in] | cb | 自动重连的回调函数 |
[in] | json_extension | JSON 扩展参数(备用,目前不需要) |
|
static |
注册该回调用于在重登陆时获取新的登录鉴权 token
[in] | cb | 上层用于生产 token 的回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
注册该回调用于在登录时获取第三方鉴权登录扩展字段
[in] | cb | 上层用于生产登录扩展字段的回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
(全局回调)注册多端推送开关同步回调
[in] | cb | 回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
手动重新登录 IM,即手动重新建立 SDK 与云信服务端的长连接
[in] | json_extension | JSON 扩展参数(备用,目前不需要) |
|
static |
当以动态库使用SDK时 设置 SDK 回调方法,为了不阻塞 SDK 线程,在回调中应该把任务抛到应用层的线程中
[in] | callback | 回调方法 |
|
static |
(全局回调)设置多端推送
[in] | switch_on | 开关 |
[in] | cb | 回调函数 |
[in] | json_extension | json扩展参数(备用,目前不需要) |
|
static |
反注册 Client类中提供的所有回调