floo::BMXClient

客户端

#include <bmx_client.h>

Inherits from floo::BMXNetworkListener

Public Functions

Name

BMXClientPtr

create(BMXSDKConfigPtr config) 创建BMXClient

virtual

~BMXClient() 析构函数

virtual BMXSDKConfigPtr

getSDKConfig() =0 获取SDK设置

virtual BMXUserService &

getUserService() =0 获取用户Service

virtual BMXChatService &

getChatService() =0 获取聊天Service

virtual BMXGroupService &

getGroupService() =0 获取群组Service

getRosterService() =0 获取好友Service

virtual BMXPushService &

getPushService() =0 获取推送Service

virtual BMXErrorCode

signUpNewUser(const std::string & username, const std::string & password, BMXUserProfilePtr & bmxUserProfilePtr) =0 注册新用户,username和password是必填参数

virtual BMXErrorCode

signInByName(const std::string & name, const std::string & password) =0 通过用户名登录

virtual BMXErrorCode

signInById(int64_t , const std::string & password) =0 通过用户ID登录

virtual BMXErrorCode

fastSignInByName(const std::string & name, const std::string & password) =0 通过用户名快速登录(要求之前成功登录过,登录速度较快)

virtual BMXErrorCode

fastSignInById(int64_t uid, const std::string & password) =0 通过用户ID快速登录(要求之前成功登录过,登录速度较快)

virtual BMXErrorCode

signOut(int64_t uid =0, bool ignoreUnbindDevice =false) =0 退出登录

virtual BMXConnectStatus

connectStatus() =0 获取当前和服务器的连接状态

virtual BMXSignInStatus

signInStatus() =0 获取当前的登录状态

virtual void

reconnect() =0 强制重新连接

virtual void

onNetworkChanged(BMXNetworkType type, bool reconnect) =0 处理网络状态发送变化

virtual void

disconnect() =0 断开网络连接

virtual BMXErrorCode

changeAppId(const std::string & appId, const std::string & appSecret ="") =0 更改SDK的appId,本操作会同时更新BMXConfig中的appId。

virtual BMXErrorCode

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

virtual void

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

Protected Functions

Name

Additional inherited members

Public Functions inherited from floo::BMXNetworkListener

Name

Public Functions Documentation

function create

static BMXClientPtr create(
    BMXSDKConfigPtr config
)

创建BMXClient

Parameters:

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

Return: BMXClientPtr

function ~BMXClient

inline virtual ~BMXClient()

析构函数

function getSDKConfig

virtual BMXSDKConfigPtr getSDKConfig() =0

获取SDK设置

Return: BMXSDKConfigPtr

function getUserService

virtual BMXUserService & getUserService() =0

获取用户Service

Return: BMXUserService

function getChatService

virtual BMXChatService & getChatService() =0

获取聊天Service

Return: BMXChatService

function getGroupService

virtual BMXGroupService & getGroupService() =0

获取群组Service

Return: BMXGroupService

function getRosterService

virtual BMXRosterService & getRosterService() =0

获取好友Service

Return: BMXRosterService

function getPushService

virtual BMXPushService & getPushService() =0

获取推送Service

Return: BMXPushService

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

function signInByName

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

通过用户名登录

Parameters:

  • name 用户名

  • password 用户密码

Return: BMXErrorCode

function signInById

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

通过用户ID登录

Parameters:

  • int64_t 用户id

  • password 用户密码

Return: BMXErrorCode

function fastSignInByName

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

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

Parameters:

  • name 用户名

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

Return: BMXErrorCode

function fastSignInById

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

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

Parameters:

  • uid 用户id

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

Return: BMXErrorCode

function signOut

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

退出登录

Parameters:

  • uid 退出用户的uid(默认输入0则退出当前登陆用户)

  • ignoreUnbindDevice 用户退出时是否忽略解绑定设备操作。对应某些服务器不可访问的情况下忽略服务器解绑定设备操作直接强制退出时设置为true

Return: BMXErrorCode

function connectStatus

virtual BMXConnectStatus connectStatus() =0

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

Return: BMXConnectStatus

function signInStatus

virtual BMXSignInStatus signInStatus() =0

获取当前的登录状态

Return: BMXSignInStatus

function reconnect

virtual void reconnect() =0

强制重新连接

function onNetworkChanged

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

处理网络状态发送变化

Parameters:

  • type 变化后的网络类型

  • reconnect 网络是否需要重连

Reimplements: floo::BMXNetworkListener::onNetworkChanged

function disconnect

virtual void disconnect() =0

断开网络连接

function changeAppId

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

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

Parameters:

  • appId 新变更的appId

Return: BMXErrorCode

function initializeServerConfig

virtual BMXErrorCode initializeServerConfig(
    bool isLocal
) =0

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

Parameters:

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

Return: BMXErrorCode

function sendMessage

virtual void sendMessage(
    BMXMessagePtr msg
) =0

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

Parameters:

  • msg 发送的消息

Protected Functions Documentation

function BMXClient

BMXClient()

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

Last updated

Was this helpful?