藍鶯開發者
Web & Mini ProgramiOSAndroidC++Server API

floo::BMXPushService#

Public Types#

Name
enum classPushSdkStatus { Starting = 1, Started, Stoped, Offline}
push sdk狀態
enum classPushDirection { Up, Down}
本地推播訊息搜索方向

Public Functions#

Name
virtual~BMXPushService()
virtual BMXErrorCodestart(const std::string & alias ="", const std::string & bmxToken ="") =0
初始化推播sdk。在僅使用推播的情況下使用該介面初始化推播sdk。在同時使用IM功能的時候直接在BMXClient呼叫登陸功能即可。config物件初始化的時候需要傳入平臺類型和設備id。
virtual BMXErrorCodestop() =0
停止推播功能介面。
virtual BMXErrorCoderesume() =0
恢復推播功能介面。
virtual BMXErrorCodeunbindAlias(const std::string & alias) =0
解除使用者別名綁定。
virtual const std::string &getToken() =0
取得登陸後使用的使用者token。
virtual const std::string &getCert() =0
取得登陸後伺服器回傳的推播證書。
virtual PushSdkStatusstatus() =0
推播sdk當前的狀態。
virtual BMXErrorCodebindDeviceToken(const std::string & token) =0
推播綁定設備token。
virtual BMXErrorCodebindVoipToken(const std::string & token) =0
綁定推播設備的voiptoken。
virtual BMXErrorCodegetPushProfile(BMXPushUserProfilePtr & pushProfile, bool forceRefresh) =0
取得推播使用者詳情,如果forceRefresh == true,則強制從服務端拉取
virtual BMXErrorCodesetTags(const std::vector< std::string > & tags, const std::string & operationId) =0
設定推播使用者的標籤。
virtual BMXErrorCodegetTags(std::vector< std::string > & tags, const std::string & operationId) =0
取得推播使用者的標籤。
virtual BMXErrorCodedeleteTags(const std::vector< std::string > & tags, const std::string & operationId) =0
刪除推播使用者的標籤。
virtual BMXErrorCodeclearTags(const std::string & operationId) =0
清空推播使用者的標籤。
virtual BMXErrorCodesetBadge(int count) =0
設定推播使用者的未讀角標。
virtual BMXErrorCodesetPushMode(bool enable =true) =0
設定推播啟用狀態。預設為使用推播。
virtual BMXErrorCodesetPushTime(int startHour, int endHour) =0
設定允許推播時間。
virtual BMXErrorCodesetSilenceTime(int startHour, int endHour) =0
設定推播靜默的起始結束時間。
virtual BMXErrorCodesetRunBackgroundMode(bool enable =false) =0
設定推播是否可以後臺運行。預設是false。
virtual BMXErrorCodesetGeoFenceMode(bool enable =false, bool isAllow =false) =0
設定推播的地理圍欄功能是否運行。
virtual voidclearNotification(int64_t notificationId) =0
清除指定id的通知。
virtual voidclearAllNotifications() =0
清空下拉通知欄全部通知。
virtual voidsendMessage(const std::string & content) =0
發送推播上行訊息,訊息狀態變化會通過listener通知
virtual BMXErrorCodeloadLocalPushMessages(int64_t refMsgId, size_t size, BMXMessageList & result, PushDirection =PushDirection::Up) =0
加載資料庫本地存儲的推播訊息。如果不指定則從最新訊息開始
virtual voidaddPushListener(BMXPushServiceListener * listener) =0
添加推播監聽者
virtual voidremovePushListener(BMXPushServiceListener * listener) =0
移除推播監聽者

Public Types Documentation#

enum PushSdkStatus#

EnumeratorValueDescription
Starting1正在啟動
Started啟動,線上
Stoped停止
Offline離線

push sdk狀態

enum PushDirection#

EnumeratorValueDescription
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

自動產生的 API 內容,僅在必要位置補充精簡的 AI 解說。