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