藍鶯開發者
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 解說。