蓝莺开发者
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 解释。