推送开发指南(PUSH)

本页面供快速集成使用,了解更多请访问详细文档

推送 SDK 集成说明

美信推送是基于美信拓扑IM技术基础上研发,只需要一次集成,就可以同时拥有推送和IM两大服务,提高研发效率的同时,也会极大降低企业的 IT 支出。

使用美信推送没有额外费用。

由于默认即支持各主流厂商通道,为了进一步减低集成难度,美信推送实现时也内置了证书设置与更新机制。简单来说,就是开发者集成美信推送之后,只需要在控制台设置好各厂商推送的证书,前端将厂商推送 SDK 打包,即可自动完成系统厂商的适配。不再需要针对性调整各种推送令牌的申请和设置。

注意:与其他推送厂商不同的是,美信推送 SDK 专注于推送通道的建设和服务,并不会收集终端信息,如果你有类似广告业务,需要单独集成广告 SDK,或者将业务数据标签通过接口设置后才能使用。

如前所述,由于美信推送 SDK 与 IM SDK 是同一个 SDK,推送功能只是在原有 IM SDK 基础上增加了推送接口。因此集成方式均与 IM SDK 相同,快速集成文档亦可参见美信拓扑IM安卓端快速集成,美信拓扑IM iOS 端快速集成。

SDK 架构

推送功主要涉及以下三个类:

BMXClient
|----BMXPushService
    |----BMXPushServiceListener
    |----BMXPushManager

其中 BMXPushService、BMXPushManager 均为推送设置类,前者是同步调用类,后者异步调用类,实现时根据需要在两者中二选一即可。

其他功能类分别是:

  • BMXCallBack : 无类型接口回调

  • BMXDataCallBack : 泛型类型带数据回调

  • BMXPushServiceListener : 推送事件监听

  • BMXMessage : 推送消息

  • BMXUserProfile : 推送用户信息

下文以安卓 SDK 为例介绍推送 API。

Android Studio中导入SDK

SDK导入可以选择aar格式或者jar+so格式

aar格式

  • 下载aar文件到项目的libs目录

  • 在build.gradle文件dependencies块中增加:implementation(name:'floo-android_3.1.3.aar',ext:'aar')

jar+so格式

  • 下载jar包和so库到项目的libs目录

  • 在build.gradle文件中增加:implementation fileTree(dir: 'libs', include: ['*.jar'])

权限配置

在AndroidManifest.xml 里增加加以下权限:

快速集成

BMXClient初始化

  • 在app入口类中导入so库文件:

  • 初始化BMXClient

高级调用形式

  • BMXPushManager: 通过bmxClient.getPushManager()获取到推送的manager对象。

开启推送

参数说明: alias(push别名), bmxToken(推送token) callBack

停止推送

参数说明: callBack

唤起推送

获取推送的状态

返回值说明: public static enum PushSdkStatus { Starting(1), Started, Stoped, Offline; }

解绑别名

参数说明: alias(push别名)

获取token

获取cert

绑定厂商token

参数说明: token(注册厂商推送返回的token)

获取推送用户信息

参数说明: forceRefresh(是否从server拉取)

高级接口

设置推送标签(tag)

参数说明: tags(tag列表) operationId(此次操作的唯一id 手动生成唯一标识)

获取推送标签(tag)列表

参数说明: operationId(此次操作的唯一id 手动生成唯一标识)

调用说明: 通过传入TagList对象引用, 调用成功后可获取tag列表信息。

删除推送标签(tag)

参数说明: operationId(此次操作的唯一id 手动生成唯一标识)

清除所有标签(tag)

参数说明: operationId(此次操作的唯一id 手动生成唯一标识)

设置推送开关

参数说明: enable(boolean 推送开关)

设置推送时间

参数说明: startHour(推送开启时间) endHour(推送结束时间) 24小时制 设置每天的推送时间区间

设置推送静默时间

参数说明: startHour(推送开启时间) endHour(推送结束时间) 24小时制 设置每天的不推送时间区间

发送推送消息

参数说明: content(推送内容)

获取推送的消息列表

参数说明: refMsgId(起始消息id 第一次传0) size(获取的消息数量)

设置监听

  • 注册推送回调

  • 移除推送回调

  • 回调示例

厂商推送集成

各平台集成只需要按照平台推送文档将集成SDK放入应用中, 对应的配置按照平台要求配置即可(华为除外)。

华为

需要按照华为推送平台设置 华为推送

  1. project级别的build.gradle文件增加

  1. app级别build.gradle

  1. 最后从推送平台下载 agconnect-services.json,放入app目录下。

小米

按照小米推送平台集成 小米推送

Oppo

按照OPPO推送平台集成 oppo推送

魅族

按照魅族推送平台集合 魅族推送

谷歌推送(FCM)

Google推送指南 FCM

Last updated

Was this helpful?