floo::BMXSDKConfig#
SDK設定管理
#include <bmx_sdk_config.h>
Public Functions#
| Name | |
|---|---|
| BMXSDKConfig(BMXClientType type, const std::string & vsn, const std::string & dataDir, const std::string & cacheDir, const std::string & SDKVersion, const std::string & pushCertName, const std::string & userAgent, bool deliveryAck =false) 構造函數 | |
| BMXSDKConfig(BMXClientType type, const std::string & vsn, const std::string & dataDir, const std::string & cacheDir, const std::string & SDKVersion, const std::string & pushCertName, const std::string & userAgent, const std::string & appId, const std::string & appSecret, bool deliveryAck =false) 構造函數 | |
| virtual | ~BMXSDKConfig() 析構函數 |
| const std::string & | getDataDir() 取得聊天資料存儲路徑,包含訊息、附件等 |
| const std::string & | getCacheDir() 取得緩存資料存儲路徑,比如使用者頭像 |
| BMXClientType | getClientType() 客戶端類型 |
| const std::string & | getVsn() 客戶端OS版本 |
| const std::string & | getSDKVersion() SDK版本 |
| const std::string & | getPushCertName() 取得Push證書名字 |
| void | setPushCertName(const std::string & ) 設定Push證書名字 |
| const std::string & | getUserAgent() 取得使用者代理信息 |
| bool | carryUsernameInMessage() 發送訊息的config中是否攜帶 |
| void | setCarryUsernameInMessage(bool ) 設定發送訊息的config中是否攜帶使用者名 |
| bool | enableDeliveryAck() 是否發送訊息送達回執 |
| void | setEnableDeliveryAck(bool ) 設定是否發送訊息送達回執 |
| BMXLogLevel | getLogLevel() Log輸出等級 |
| void | setLogLevel(BMXLogLevel ) 設定Log輸出等級 |
| bool | getConsoleOutput() Log是否輸出到Console. |
| void | setConsoleOutput(bool ) 設定Log是否輸出到Console |
| void | setHostConfig(const [HostConfig] & config) 設定伺服器配置 |
| const [HostConfig] & | getHostConfig() 取得伺服器配置 |
| bool | getLoadAllServerConversations() 是否根據伺服器回傳未讀列表建立所有會話. |
| void | setLoadAllServerConversations(bool enable =false) 是否根據伺服器回傳未讀列表建立所有會話,預設為false,只會建立有未讀訊息的會話。 |
| const std::string & | getDeviceUuid() 取得設備的唯一識別碼 |
| void | setDeviceUuid(const std::string & uuid) 設定設備的唯一識別碼,在app卸載之前應該始終保持一致,app刪除後再次安裝時可以產生不同的設備識別碼。 |
| const std::string & | getDBCryptoKey() 取得設備的本地資料庫加密密鑰。 |
| void | setDBCryptoKey(const std::string & cryptoKey) 設定本地資料庫的加密密鑰,在app卸載之前應該始終保持一直,app刪除後再次安裝時可以產生不同的密鑰。用於本地資料庫加密。 |
| bool | getVerifyCertificate() 取得https請求是否驗證伺服器端證書。 |
| void | setVerifyCertificate(bool verify =true) 設定https請求是否驗證伺服器端證書。 |
| bool | getEnableDNS() 取得是否啟用dns功能。 |
| void | setEnableDNS(bool enable =true) 設定是否啟用dns功能,預設是開啟的。 |
| std::string | getUserDNSAddress() 取得使用者自定義dns伺服器地址。 |
| void | setUserDNSAddress(const std::string & dns) 設定使用者自定義dns伺服器地址,在使用者設定了dns伺服器的情況下優先使用使用者dns。 |
| std::string | getAppID() 取得使用者的appID。 |
| void | setAppID(const std::string & appID) 設定使用者的appID。 |
| std::string | getAppSecret() 取得使用者的appSecret。 |
| void | setAppSecret(const std::string & appSecret) 設定使用者的appSecret。 |
| BMXPushProviderType | getPushProviderType() 取得使用者的推播提供商類型。 |
| void | setPushProviderType(BMXPushProviderType type) 設定使用者的推播提供商類型。 |
| BMXPushEnvironmentType | getPushEnvironmentType() 取得使用者的推播環境類型。 |
| void | setEnvironmentType(BMXPushEnvironmentType type) 設定使用者的推播環境類型。 |
| int64_t | getDebugLogReceiverId() 取得調試log接收著賬號(僅用於SDK調試,接收客戶端log日誌使用) |
| void | setDebugLogReceiverId(int64_t uid) 設定調試log接收賬號(僅用於SDK調試,接收客戶端log日誌使用) |
Public Functions Documentation#
function BMXSDKConfig#
BMXSDKConfig(
BMXClientType type,
const std::string & vsn,
const std::string & dataDir,
const std::string & cacheDir,
const std::string & SDKVersion,
const std::string & pushCertName,
const std::string & userAgent,
bool deliveryAck =false
)
構造函數
Parameters:
- type 客戶端類型
- vsn 客戶端OS版本
- dataDir 聊天資料存儲路徑
- cacheDir 緩存資料存儲路徑
- SDKVersion SDK版本
- pushCertName Push證書名字
- userAgent 使用者代理信息
- deliveryAck 是否發送訊息送達回執
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="BMXSDKConfig" %}{% endlanying_code_snippet %}
function BMXSDKConfig#
BMXSDKConfig(
BMXClientType type,
const std::string & vsn,
const std::string & dataDir,
const std::string & cacheDir,
const std::string & SDKVersion,
const std::string & pushCertName,
const std::string & userAgent,
const std::string & appId,
const std::string & appSecret,
bool deliveryAck =false
)
構造函數
Parameters:
- type 客戶端類型
- vsn 客戶端OS版本
- dataDir 聊天資料存儲路徑
- cacheDir 緩存資料存儲路徑
- SDKVersion SDK版本
- pushCertName Push證書名字
- userAgent 使用者代理信息
- appId 使用者的appId
- appSecret 使用者的appSecret(對於使用推播的使用者,必須同時設定appId和appSecret)
- deliveryAck 是否發送訊息送達回執
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="BMXSDKConfig" %}{% endlanying_code_snippet %}
function ~BMXSDKConfig#
virtual ~BMXSDKConfig()
析構函數
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="~BMXSDKConfig" %}{% endlanying_code_snippet %}
function getDataDir#
const std::string & getDataDir()
取得聊天資料存儲路徑,包含訊息、附件等
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getDataDir" %}{% endlanying_code_snippet %}
function getCacheDir#
const std::string & getCacheDir()
取得緩存資料存儲路徑,比如使用者頭像
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getCacheDir" %}{% endlanying_code_snippet %}
function getClientType#
BMXClientType getClientType()
客戶端類型
Return: BMXClientType
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getClientType" %}{% endlanying_code_snippet %}
function getVsn#
const std::string & getVsn()
客戶端OS版本
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getVsn" %}{% endlanying_code_snippet %}
function getSDKVersion#
const std::string & getSDKVersion()
SDK版本
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getSDKVersion" %}{% endlanying_code_snippet %}
function getPushCertName#
const std::string & getPushCertName()
取得Push證書名字
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getPushCertName" %}{% endlanying_code_snippet %}
function setPushCertName#
void setPushCertName(
const std::string &
)
設定Push證書名字
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setPushCertName" %}{% endlanying_code_snippet %}
function getUserAgent#
const std::string & getUserAgent()
取得使用者代理信息
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getUserAgent" %}{% endlanying_code_snippet %}
function carryUsernameInMessage#
bool carryUsernameInMessage()
發送訊息的config中是否攜帶
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="carryUsernameInMessage" %}{% endlanying_code_snippet %}
function setCarryUsernameInMessage#
void setCarryUsernameInMessage(
bool
)
設定發送訊息的config中是否攜帶使用者名
Parameters:
- bool 設定是否在送訊息的config中攜帶使用者名
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setCarryUsernameInMessage" %}{% endlanying_code_snippet %}
function enableDeliveryAck#
bool enableDeliveryAck()
是否發送訊息送達回執
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="enableDeliveryAck" %}{% endlanying_code_snippet %}
function setEnableDeliveryAck#
void setEnableDeliveryAck(
bool
)
設定是否發送訊息送達回執
Parameters:
- bool 是否發送訊息送達回執
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setEnableDeliveryAck" %}{% endlanying_code_snippet %}
function getLogLevel#
BMXLogLevel getLogLevel()
Log輸出等級
Return: BMXLogLevel
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getLogLevel" %}{% endlanying_code_snippet %}
function setLogLevel#
void setLogLevel(
BMXLogLevel
)
設定Log輸出等級
Parameters:
- BMXLogLevel Log輸出等級
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setLogLevel" %}{% endlanying_code_snippet %}
function getConsoleOutput#
bool getConsoleOutput()
Log是否輸出到Console.
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getConsoleOutput" %}{% endlanying_code_snippet %}
function setConsoleOutput#
void setConsoleOutput(
bool
)
設定Log是否輸出到Console
Parameters:
- bool 設定Log是否輸出到Console
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setConsoleOutput" %}{% endlanying_code_snippet %}
function setHostConfig#
void setHostConfig(
const HostConfig & config
)
設定伺服器配置
Parameters:
- config 伺服器配置
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setHostConfig" %}{% endlanying_code_snippet %}
function getHostConfig#
const HostConfig & getHostConfig()
取得伺服器配置
Return: [HostConfig]
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getHostConfig" %}{% endlanying_code_snippet %}
function getLoadAllServerConversations#
bool getLoadAllServerConversations()
是否根據伺服器回傳未讀列表建立所有會話.
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getLoadAllServerConversations" %}{% endlanying_code_snippet %}
function setLoadAllServerConversations#
void setLoadAllServerConversations(
bool enable =false
)
是否根據伺服器回傳未讀列表建立所有會話,預設為false,只會建立有未讀訊息的會話。
Parameters:
- enable 是否根據伺服器回傳未讀列表建立所有會話
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setLoadAllServerConversations" %}{% endlanying_code_snippet %}
function getDeviceUuid#
const std::string & getDeviceUuid()
取得設備的唯一識別碼
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getDeviceUuid" %}{% endlanying_code_snippet %}
function setDeviceUuid#
void setDeviceUuid(
const std::string & uuid
)
設定設備的唯一識別碼,在app卸載之前應該始終保持一致,app刪除後再次安裝時可以產生不同的設備識別碼。
Parameters:
- uuid 設備的唯一識別碼。
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setDeviceUuid" %}{% endlanying_code_snippet %}
function getDBCryptoKey#
const std::string & getDBCryptoKey()
取得設備的本地資料庫加密密鑰。
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getDBCryptoKey" %}{% endlanying_code_snippet %}
function setDBCryptoKey#
void setDBCryptoKey(
const std::string & cryptoKey
)
設定本地資料庫的加密密鑰,在app卸載之前應該始終保持一直,app刪除後再次安裝時可以產生不同的密鑰。用於本地資料庫加密。
Parameters:
- cryptoKey 本地資料庫的加密密鑰。
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setDBCryptoKey" %}{% endlanying_code_snippet %}
function getVerifyCertificate#
bool getVerifyCertificate()
取得https請求是否驗證伺服器端證書。
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getVerifyCertificate" %}{% endlanying_code_snippet %}
function setVerifyCertificate#
void setVerifyCertificate(
bool verify =true
)
設定https請求是否驗證伺服器端證書。
Parameters:
- verify https請求是否驗證伺服器端證書
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setVerifyCertificate" %}{% endlanying_code_snippet %}
function getEnableDNS#
bool getEnableDNS()
取得是否啟用dns功能。
Return: bool
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getEnableDNS" %}{% endlanying_code_snippet %}
function setEnableDNS#
void setEnableDNS(
bool enable =true
)
設定是否啟用dns功能,預設是開啟的。
Parameters:
- enable 是否啟用dns功能
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setEnableDNS" %}{% endlanying_code_snippet %}
function getUserDNSAddress#
std::string getUserDNSAddress()
取得使用者自定義dns伺服器地址。
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getUserDNSAddress" %}{% endlanying_code_snippet %}
function setUserDNSAddress#
void setUserDNSAddress(
const std::string & dns
)
設定使用者自定義dns伺服器地址,在使用者設定了dns伺服器的情況下優先使用使用者dns。
Parameters:
- dns 使用者自定義dns伺服器地址
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setUserDNSAddress" %}{% endlanying_code_snippet %}
function getAppID#
std::string getAppID()
取得使用者的appID。
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getAppID" %}{% endlanying_code_snippet %}
function setAppID#
void setAppID(
const std::string & appID
)
設定使用者的appID。
Parameters:
- appID 使用者的appID
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setAppID" %}{% endlanying_code_snippet %}
function getAppSecret#
std::string getAppSecret()
取得使用者的appSecret。
Return: std::string
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getAppSecret" %}{% endlanying_code_snippet %}
function setAppSecret#
void setAppSecret(
const std::string & appSecret
)
設定使用者的appSecret。
Parameters:
- appID 使用者的appSecret
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setAppSecret" %}{% endlanying_code_snippet %}
function getPushProviderType#
BMXPushProviderType getPushProviderType()
取得使用者的推播提供商類型。
Return: BMXPushProviderType
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getPushProviderType" %}{% endlanying_code_snippet %}
function setPushProviderType#
void setPushProviderType(
BMXPushProviderType type
)
設定使用者的推播提供商類型。
Parameters:
- type 使用者的推播提供商類型
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setPushProviderType" %}{% endlanying_code_snippet %}
function getPushEnvironmentType#
BMXPushEnvironmentType getPushEnvironmentType()
取得使用者的推播環境類型。
Return: BMXPushEnvironmentType
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getPushEnvironmentType" %}{% endlanying_code_snippet %}
function setEnvironmentType#
void setEnvironmentType(
BMXPushEnvironmentType type
)
設定使用者的推播環境類型。
Parameters:
- type 使用者的推播環境類型
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setEnvironmentType" %}{% endlanying_code_snippet %}
function getDebugLogReceiverId#
int64_t getDebugLogReceiverId()
取得調試log接收著賬號(僅用於SDK調試,接收客戶端log日誌使用)
Return: int64_t
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="getDebugLogReceiverId" %}{% endlanying_code_snippet %}
function setDebugLogReceiverId#
void setDebugLogReceiverId(
int64_t uid
)
設定調試log接收賬號(僅用於SDK調試,接收客戶端log日誌使用)
Parameters:
- uid 調試log接收者id
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXSDKConfig",function="setDebugLogReceiverId" %}{% endlanying_code_snippet %}
Updated on 2022-01-26 at 17:20:40 +0800