floo::BMXPushService#
Public Types#
| Name | |
|---|---|
| enum class | PushSdkStatus { Starting = 1, Started, Stoped, Offline} push sdk狀態 |
| enum class | PushDirection { Up, Down} 本地推播訊息搜索方向 |
Public Functions#
| Name | |
|---|---|
| virtual | ~BMXPushService() |
| virtual BMXErrorCode | start(const std::string & alias ="", const std::string & bmxToken ="") =0 初始化推播sdk。在僅使用推播的情況下使用該介面初始化推播sdk。在同時使用IM功能的時候直接在BMXClient呼叫登陸功能即可。config物件初始化的時候需要傳入平臺類型和設備id。 |
| virtual BMXErrorCode | stop() =0 停止推播功能介面。 |
| virtual BMXErrorCode | resume() =0 恢復推播功能介面。 |
| virtual BMXErrorCode | unbindAlias(const std::string & alias) =0 解除使用者別名綁定。 |
| virtual const std::string & | getToken() =0 取得登陸後使用的使用者token。 |
| virtual const std::string & | getCert() =0 取得登陸後伺服器回傳的推播證書。 |
| virtual PushSdkStatus | status() =0 推播sdk當前的狀態。 |
| virtual BMXErrorCode | bindDeviceToken(const std::string & token) =0 推播綁定設備token。 |
| virtual BMXErrorCode | bindVoipToken(const std::string & token) =0 綁定推播設備的voiptoken。 |
| virtual BMXErrorCode | getPushProfile(BMXPushUserProfilePtr & pushProfile, bool forceRefresh) =0 取得推播使用者詳情,如果forceRefresh == true,則強制從服務端拉取 |
| virtual BMXErrorCode | setTags(const std::vector< std::string > & tags, const std::string & operationId) =0 設定推播使用者的標籤。 |
| virtual BMXErrorCode | getTags(std::vector< std::string > & tags, const std::string & operationId) =0 取得推播使用者的標籤。 |
| virtual BMXErrorCode | deleteTags(const std::vector< std::string > & tags, const std::string & operationId) =0 刪除推播使用者的標籤。 |
| virtual BMXErrorCode | clearTags(const std::string & operationId) =0 清空推播使用者的標籤。 |
| virtual BMXErrorCode | setBadge(int count) =0 設定推播使用者的未讀角標。 |
| virtual BMXErrorCode | setPushMode(bool enable =true) =0 設定推播啟用狀態。預設為使用推播。 |
| virtual BMXErrorCode | setPushTime(int startHour, int endHour) =0 設定允許推播時間。 |
| virtual BMXErrorCode | setSilenceTime(int startHour, int endHour) =0 設定推播靜默的起始結束時間。 |
| virtual BMXErrorCode | setRunBackgroundMode(bool enable =false) =0 設定推播是否可以後臺運行。預設是false。 |
| virtual BMXErrorCode | setGeoFenceMode(bool enable =false, bool isAllow =false) =0 設定推播的地理圍欄功能是否運行。 |
| virtual void | clearNotification(int64_t notificationId) =0 清除指定id的通知。 |
| virtual void | clearAllNotifications() =0 清空下拉通知欄全部通知。 |
| virtual void | sendMessage(const std::string & content) =0 發送推播上行訊息,訊息狀態變化會通過listener通知 |
| virtual BMXErrorCode | loadLocalPushMessages(int64_t refMsgId, size_t size, BMXMessageList & result, PushDirection =PushDirection::Up) =0 加載資料庫本地存儲的推播訊息。如果不指定則從最新訊息開始 |
| virtual void | addPushListener(BMXPushServiceListener * listener) =0 添加推播監聽者 |
| virtual void | removePushListener(BMXPushServiceListener * listener) =0 移除推播監聽者 |
Public Types Documentation#
enum PushSdkStatus#
| Enumerator | Value | Description |
|---|---|---|
| Starting | 1 | 正在啟動 |
| Started | 啟動,線上 | |
| Stoped | 停止 | |
| Offline | 離線 |
push sdk狀態
enum PushDirection#
| Enumerator | Value | Description |
|---|---|---|
| Up | 取更舊訊息 | |
| Down | 取更新訊息 |
本地推播訊息搜索方向
Public Functions Documentation#
function ~BMXPushService#
inline virtual ~BMXPushService()
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="~BMXPushService" %}{% endlanying_code_snippet %}
function start#
virtual BMXErrorCode start(
const std::string & alias ="",
const std::string & bmxToken =""
) =0
初始化推播sdk。在僅使用推播的情況下使用該介面初始化推播sdk。在同時使用IM功能的時候直接在BMXClient呼叫登陸功能即可。config物件初始化的時候需要傳入平臺類型和設備id。
Parameters:
- alias 推播初始化使用的當前使用者別名
- bmxToken 推播初始化的時候App傳入的使用的使用者的token,無使用者的狀態下不傳入即可。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="start" %}{% endlanying_code_snippet %}
function stop#
virtual BMXErrorCode stop() =0
停止推播功能介面。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="stop" %}{% endlanying_code_snippet %}
function resume#
virtual BMXErrorCode resume() =0
恢復推播功能介面。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="resume" %}{% endlanying_code_snippet %}
function unbindAlias#
virtual BMXErrorCode unbindAlias(
const std::string & alias
) =0
解除使用者別名綁定。
Parameters:
- alias 需要解除綁定的使用者別名。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="unbindAlias" %}{% endlanying_code_snippet %}
function getToken#
virtual const std::string & getToken() =0
取得登陸後使用的使用者token。
Return: std::stirng
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="getToken" %}{% endlanying_code_snippet %}
function getCert#
virtual const std::string & getCert() =0
取得登陸後伺服器回傳的推播證書。
Return: std::stirng
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="getCert" %}{% endlanying_code_snippet %}
function status#
virtual PushSdkStatus status() =0
推播sdk當前的狀態。
Return: PushSdkStatus
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="status" %}{% endlanying_code_snippet %}
function bindDeviceToken#
virtual BMXErrorCode bindDeviceToken(
const std::string & token
) =0
推播綁定設備token。
Parameters:
- token 設備的推播token
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="bindDeviceToken" %}{% endlanying_code_snippet %}
function bindVoipToken#
virtual BMXErrorCode bindVoipToken(
const std::string & token
) =0
綁定推播設備的voiptoken。
Parameters:
- token 設備的voip推播token
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="bindVoipToken" %}{% endlanying_code_snippet %}
function getPushProfile#
virtual BMXErrorCode getPushProfile(
BMXPushUserProfilePtr & pushProfile,
bool forceRefresh
) =0
取得推播使用者詳情,如果forceRefresh == true,則強制從服務端拉取
Parameters:
- profile 推播使用者profile信息,初始傳入指向為空的shared_ptr物件,函數回傳後從此處取得使用者profile信息。
- forceRefresh 是否強制從伺服器拉取,本地取得失敗的情況下會自動從伺服器拉取
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="getPushProfile" %}{% endlanying_code_snippet %}
function setTags#
virtual BMXErrorCode setTags(
const std::vector< std::string > & tags,
const std::string & operationId
) =0
設定推播使用者的標籤。
Parameters:
- tags 使用者標籤
- operationId 操作id。在回呼通知中對應通知提醒。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setTags" %}{% endlanying_code_snippet %}
function getTags#
virtual BMXErrorCode getTags(
std::vector< std::string > & tags,
const std::string & operationId
) =0
取得推播使用者的標籤。
Parameters:
- tags 使用者標籤
- operationId 操作id。在回呼通知中對應通知提醒。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="getTags" %}{% endlanying_code_snippet %}
function deleteTags#
virtual BMXErrorCode deleteTags(
const std::vector< std::string > & tags,
const std::string & operationId
) =0
刪除推播使用者的標籤。
Parameters:
- tags 要刪除使用者標籤
- operationId 操作id。在回呼通知中對應通知提醒。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="deleteTags" %}{% endlanying_code_snippet %}
function clearTags#
virtual BMXErrorCode clearTags(
const std::string & operationId
) =0
清空推播使用者的標籤。
Parameters:
- operationId 操作id。在回呼通知中對應通知提醒。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="clearTags" %}{% endlanying_code_snippet %}
function setBadge#
virtual BMXErrorCode setBadge(
int count
) =0
設定推播使用者的未讀角標。
Parameters:
- count 使用者未讀角標數
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setBadge" %}{% endlanying_code_snippet %}
function setPushMode#
virtual BMXErrorCode setPushMode(
bool enable =true
) =0
設定推播啟用狀態。預設為使用推播。
Parameters:
- enable 推播的啟用狀態
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setPushMode" %}{% endlanying_code_snippet %}
function setPushTime#
virtual BMXErrorCode setPushTime(
int startHour,
int endHour
) =0
設定允許推播時間。
Parameters:
- startHour 靜默允許推播的起始時間小時
- endHour 靜默允許推播的結束時間小時
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setPushTime" %}{% endlanying_code_snippet %}
function setSilenceTime#
virtual BMXErrorCode setSilenceTime(
int startHour,
int endHour
) =0
設定推播靜默的起始結束時間。
Parameters:
- startHour 靜默推播的起始時間小時
- endHour 靜默推播的結束時間小時
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setSilenceTime" %}{% endlanying_code_snippet %}
function setRunBackgroundMode#
virtual BMXErrorCode setRunBackgroundMode(
bool enable =false
) =0
設定推播是否可以後臺運行。預設是false。
Parameters:
- enable 推播後臺運行狀態。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setRunBackgroundMode" %}{% endlanying_code_snippet %}
function setGeoFenceMode#
virtual BMXErrorCode setGeoFenceMode(
bool enable =false,
bool isAllow =false
) =0
設定推播的地理圍欄功能是否運行。
Parameters:
- enable 地理圍欄功能是否運行。
- isAllow 使用者是否主動彈出使用者定位請求。
Return: BMXErrorCode
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="setGeoFenceMode" %}{% endlanying_code_snippet %}
function clearNotification#
virtual void clearNotification(
int64_t notificationId
) =0
清除指定id的通知。
Parameters:
- notificationId 通知id
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="clearNotification" %}{% endlanying_code_snippet %}
function clearAllNotifications#
virtual void clearAllNotifications() =0
清空下拉通知欄全部通知。
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="clearAllNotifications" %}{% endlanying_code_snippet %}
function sendMessage#
virtual void sendMessage(
const std::string & content
) =0
發送推播上行訊息,訊息狀態變化會通過listener通知
Parameters:
- content 發送的上行推播訊息內容
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="sendMessage" %}{% endlanying_code_snippet %}
function loadLocalPushMessages#
virtual BMXErrorCode loadLocalPushMessages(
int64_t refMsgId,
size_t size,
BMXMessageList & result,
PushDirection =PushDirection::Up
) =0
加載資料庫本地存儲的推播訊息。如果不指定則從最新訊息開始
Parameters:
- refMsgId 加載推播訊息的起始id
- size 最大加載訊息條數
- result 資料庫回傳的加載本地推播訊息列表
- Direction 加載推播訊息的方向,預設是加載更早的訊息
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="loadLocalPushMessages" %}{% endlanying_code_snippet %}
function addPushListener#
virtual void addPushListener(
BMXPushServiceListener * listener
) =0
添加推播監聽者
Parameters:
- listener 推播監聽者
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="addPushListener" %}{% endlanying_code_snippet %}
function removePushListener#
virtual void removePushListener(
BMXPushServiceListener * listener
) =0
移除推播監聽者
Parameters:
- listener 推播監聽者
Example:
{% lanying_code_snippet repo="lanying-im-embedded",class="BMXPushService",function="removePushListener" %}{% endlanying_code_snippet %}
Updated on 2022-01-26 at 17:20:40 +0800