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 |
| virtual BMXRosterService & | 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 | |
|---|---|
| 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