蓝莺开发者
Web & Mini ProgramiOSAndroidC++Server API

floo::BMXClient#

客户端

#include <bmx_client.h>

Inherits from floo::BMXNetworkListener

Public Functions#

Name
BMXClientPtrcreate(BMXSDKConfigPtr config)
创建BMXClient
virtual~BMXClient()
析构函数
virtual BMXSDKConfigPtrgetSDKConfig() =0
获取SDK设置
virtual BMXUserService &getUserService() =0
获取用户Service
virtual BMXChatService &getChatService() =0
获取聊天Service
virtual BMXGroupService &getGroupService() =0
获取群组Service
virtual BMXRosterService &getRosterService() =0
获取好友Service
virtual BMXPushService &getPushService() =0
获取推送Service
virtual BMXErrorCodesignUpNewUser(const std::string & username, const std::string & password, BMXUserProfilePtr & bmxUserProfilePtr) =0
注册新用户,username和password是必填参数
virtual BMXErrorCodesignInByName(const std::string & name, const std::string & password) =0
通过用户名登录
virtual BMXErrorCodesignInById(int64_t , const std::string & password) =0
通过用户ID登录
virtual BMXErrorCodefastSignInByName(const std::string & name, const std::string & password) =0
通过用户名快速登录(要求之前成功登录过,登录速度较快)
virtual BMXErrorCodefastSignInById(int64_t uid, const std::string & password) =0
通过用户ID快速登录(要求之前成功登录过,登录速度较快)
virtual BMXErrorCodesignOut(int64_t uid =0, bool ignoreUnbindDevice =false) =0
退出登录
virtual BMXConnectStatusconnectStatus() =0
获取当前和服务器的连接状态
virtual BMXSignInStatussignInStatus() =0
获取当前的登录状态
virtual voidreconnect() =0
强制重新连接
virtual voidonNetworkChanged(BMXNetworkType type, bool reconnect) =0
处理网络状态发送变化
virtual voiddisconnect() =0
断开网络连接
virtual BMXErrorCodechangeAppId(const std::string & appId, const std::string & appSecret ="") =0
更改SDK的appId,本操作会同时更新BMXConfig中的appId。
virtual BMXErrorCodeinitializeServerConfig(bool isLocal) =0
获取app的服务器网络配置,在初始化SDK之后登陆之前调用,可以提前获取服务器配置加快登陆速度。
virtual voidsendMessage(BMXMessagePtr msg) =0
发送消息,消息状态变化会通过listener通知,在发送群组消息且指定的群组为开启群组已读回执的情况下, 该接口会自动获取群成员列表id并且填充到message config中去,无需客户端自己进行群组成员列表的填充操作。

Protected Functions#

Name
BMXClient()

Additional inherited members#

Public Functions inherited from floo::BMXNetworkListener

Name
virtual~BMXNetworkListener()

Public Functions Documentation#

function create#

static BMXClientPtr create(
    BMXSDKConfigPtr config
)

创建BMXClient

Parameters:

  • config 客户端本地已经创建好的BMXSDKConfig SDK配置对象

Return: BMXClientPtr

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="create" %}{% endlanying_code_snippet %}

function ~BMXClient#

inline virtual ~BMXClient()

析构函数

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="~BMXClient" %}{% endlanying_code_snippet %}

function getSDKConfig#

virtual BMXSDKConfigPtr getSDKConfig() =0

获取SDK设置

Return: BMXSDKConfigPtr

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getSDKConfig" %}{% endlanying_code_snippet %}

function getUserService#

virtual BMXUserService & getUserService() =0

获取用户Service

Return: BMXUserService

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getUserService" %}{% endlanying_code_snippet %}

function getChatService#

virtual BMXChatService & getChatService() =0

获取聊天Service

Return: BMXChatService

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getChatService" %}{% endlanying_code_snippet %}

function getGroupService#

virtual BMXGroupService & getGroupService() =0

获取群组Service

Return: BMXGroupService

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getGroupService" %}{% endlanying_code_snippet %}

function getRosterService#

virtual BMXRosterService & getRosterService() =0

获取好友Service

Return: BMXRosterService

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getRosterService" %}{% endlanying_code_snippet %}

function getPushService#

virtual BMXPushService & getPushService() =0

获取推送Service

Return: BMXPushService

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="getPushService" %}{% endlanying_code_snippet %}

function signUpNewUser#

virtual BMXErrorCode signUpNewUser(
    const std::string & username,
    const std::string & password,
    BMXUserProfilePtr & bmxUserProfilePtr
) =0

注册新用户,username和password是必填参数

Parameters:

  • username 用户名
  • password 用户密码
  • bmxUserProfilePtr 注册成功后从该函数处获取新注册用户的Profile信息,初始传入指向为空的shared_ptr对象即可。

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="signUpNewUser" %}{% endlanying_code_snippet %}

function signInByName#

virtual BMXErrorCode signInByName(
    const std::string & name,
    const std::string & password
) =0

通过用户名登录

Parameters:

  • name 用户名
  • password 用户密码

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="signInByName" %}{% endlanying_code_snippet %}

function signInById#

virtual BMXErrorCode signInById(
    int64_t ,
    const std::string & password
) =0

通过用户ID登录

Parameters:

  • int64_t 用户id
  • password 用户密码

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="signInById" %}{% endlanying_code_snippet %}

function fastSignInByName#

virtual BMXErrorCode fastSignInByName(
    const std::string & name,
    const std::string & password
) =0

通过用户名快速登录(要求之前成功登录过,登录速度较快)

Parameters:

  • name 用户名
  • password 用户密码(用于sdk在内部token到期时自动更新用户token)

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="fastSignInByName" %}{% endlanying_code_snippet %}

function fastSignInById#

virtual BMXErrorCode fastSignInById(
    int64_t uid,
    const std::string & password
) =0

通过用户ID快速登录(要求之前成功登录过,登录速度较快)

Parameters:

  • uid 用户id
  • password 用户密码(用于sdk在内部token到期时自动更新用户token)

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="fastSignInById" %}{% endlanying_code_snippet %}

function signOut#

virtual BMXErrorCode signOut(
    int64_t uid =0,
    bool ignoreUnbindDevice =false
) =0

退出登录

Parameters:

  • uid 退出用户的uid(默认输入0则退出当前登陆用户)
  • ignoreUnbindDevice 用户退出时是否忽略解绑定设备操作。对应某些服务器不可访问的情况下忽略服务器解绑定设备操作直接强制退出时设置为true

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="signOut" %}{% endlanying_code_snippet %}

function connectStatus#

virtual BMXConnectStatus connectStatus() =0

获取当前和服务器的连接状态

Return: BMXConnectStatus

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="connectStatus" %}{% endlanying_code_snippet %}

function signInStatus#

virtual BMXSignInStatus signInStatus() =0

获取当前的登录状态

Return: BMXSignInStatus

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="signInStatus" %}{% endlanying_code_snippet %}

function reconnect#

virtual void reconnect() =0

强制重新连接

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="reconnect" %}{% endlanying_code_snippet %}

function onNetworkChanged#

virtual void onNetworkChanged(
    BMXNetworkType type,
    bool reconnect
) =0

处理网络状态发送变化

Parameters:

  • type 变化后的网络类型
  • reconnect 网络是否需要重连

Reimplements: floo::BMXNetworkListener::onNetworkChanged

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="onNetworkChanged" %}{% endlanying_code_snippet %}

function disconnect#

virtual void disconnect() =0

断开网络连接

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="disconnect" %}{% endlanying_code_snippet %}

function changeAppId#

virtual BMXErrorCode changeAppId(
    const std::string & appId,
    const std::string & appSecret =""
) =0

更改SDK的appId,本操作会同时更新BMXConfig中的appId。

Parameters:

  • appId 新变更的appId

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="changeAppId" %}{% endlanying_code_snippet %}

function initializeServerConfig#

virtual BMXErrorCode initializeServerConfig(
    bool isLocal
) =0

获取app的服务器网络配置,在初始化SDK之后登陆之前调用,可以提前获取服务器配置加快登陆速度。

Parameters:

  • isLocal 为true则使用本地缓存的dns配置,为false则从服务器获取最新的配置。

Return: BMXErrorCode

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="initializeServerConfig" %}{% endlanying_code_snippet %}

function sendMessage#

virtual void sendMessage(
    BMXMessagePtr msg
) =0

发送消息,消息状态变化会通过listener通知,在发送群组消息且指定的群组为开启群组已读回执的情况下, 该接口会自动获取群成员列表id并且填充到message config中去,无需客户端自己进行群组成员列表的填充操作。

Parameters:

  • msg 发送的消息

Protected Functions Documentation#

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="sendMessage" %}{% endlanying_code_snippet %}

function BMXClient#

BMXClient()

Example:

{% lanying_code_snippet repo="lanying-im-embedded",class="BMXClient",function="BMXClient" %}{% endlanying_code_snippet %}

Updated on 2022-01-26 at 17:20:40 +0800

自动生成的 API 内容,仅在必要位置补充精简的 AI 解释。