集成第三方推送
接入第三方推送
申请第三方推送平台的key
- 首先需要到各个平台申请推送的key,具体可以看对应的开发者平台。
- 申请到key之后,请联系亿联技术支持,将以下key值发给技术支持
- 华为:app id、app secret
- 小米:app id、app key、app secret
- oppo:app key、app secret、master secret
- vivo:app id、app key、app secret
使用亿联推送sdk
亿联推送sdk整合了小米、华为、oppo、vivo四家手机厂商的推送sdk,只需简单的配置及接口调用即可。亿联推送会根据手机厂家类型,注册对应平台的推送,除了这四家厂商之外,用的是小米推送。 1.在项目根目录的build.gradle下 添加华为maven仓库
buildscript {
repositories {
//华为推送需要
maven { url 'https://developer.huawei.com/repo/'}
}
}
allprojects {
repositories {
//华为推送需要
maven { url 'https://developer.huawei.com/repo/'}
}
}
2 . 在AndroidManifest.xml下配置推送key
<application>
<!--小米推送-->
<meta-data
android:name="com.xiaomi.appid"
android:value="\2882303761520075843" />
<meta-data
android:name="com.xiaomi.appkey"
android:value="\5982007558843" />
<!--华为推送-->
<meta-data
android:name="com.huawei.hms.client.appid"
android:value="appid=104853435" />
<!--oppo推送-->
<meta-data
android:name="com.oppo.appsecret"
android:value="\396bc6aedc04422db94e186025845e35"/>
<meta-data
android:name="com.oppo.appkey"
android:value="\9750b73879784014ae57aa6654fa96ab"/>
<!--vivo推送-->
<meta-data
android:name="com.vivo.push.api_key"
android:value="\2f925e4ba58e56a5ddb00893a8364965"/>
<meta-data
android:name="com.vivo.push.app_id"
android:value="\105516852"/>
</application>
PS:华为推送还需要将申请到的agconnect-services.json文件,放到assets目录下
- 添加相关的依赖
dependencies {
api fileTree(dir: 'libs/aar', include: ['*.aar'])
implementation 'com.huawei.agconnect:agconnect-core:1.0.0.300'
implementation 'com.huawei.hms:push:3.0.3.301'
implementation 'commons-codec:commons-codec:1.10'
}
.2.1 亿联推送接口说明
-
注册第三方推送
YealinkSdk.getSettingService().registerPush(Application application, PushConfig config, OnPushReceiverListener listener)
需要在账号登录上之后调用,建议放在登录后主界面的onCreate调用
参数 | 说明 |
---|---|
Application | 上下文 |
PushConfig | 第三方推送开关配置 |
OnPushReceiverListener | 注册token回调通知 |
3. 注销第三方推送 |
YealinkSdk.getSettingService().unregisterPush(context)
参数 | 说明 |
---|---|
context | 上下文 |
4. 绑定推送token |
YealinkSdk.getSettingService().bindPushToken(token, platform);
参数 | 说明 |
---|---|
token | 第三方推送获取到的token |
platform | 推送平台,取值 xiaomi\huawei\oppo\vivo |
5. 解绑推送token |
YealinkSdk.getSettingService().unbindPushToken()
.3 自行集成第三方推送
- 按.1步骤申请第三方平台推送key
- 去掉亿联推送sdk(没有去掉的话,会和自行集成的第三方推送冲突) 其中包括:
- 删除yMeeting/libs/aar目录下的third.aar、com.heytap.msp-xxx.aar、MiPush_SDK_Client_xxx.aar、vivo_pushSDK_xxx.aar文件
- 删除华为dependencies依赖
- 根据第三方推送开发者平台接入推送
-
绑定token 客户端自行对接第三方平台的推送后,注册成功后会得到一个token,需要将该token上报到服务器(账号登录上之后调用)
YealinkSdk.getSettingService().bindPushToken(token, platform);
当需要解绑token时
YealinkSdk.getSettingService().unbindPushToken()
消息推送申请说明
华为
1.简要规则:通过智能消息分类,若要防止误判需申请自分类
- 服务与通讯类消息不受限
- 资讯营销类消息受限,受限如下:
消息类型 | 接收限制 |
---|---|
新闻 | 单设备每日5条 |
其他 | 单设备每日2条 |
- 若要防止误判,需申请自分类,仅上架应用可申请,未上架应用需先发邮件申请开通自分类权限申请资质才可申请
- 申请过程:登录AppGallery Connect网站,找到您的项目,通过“增长 > 推送服务 > 配置”,在“配置”页签下选择需要申请自分类权益的应用,点击自分类权益后的“申请”,并开发适配category字段
2.邮件申请规范
- 未上架应用:申请开通自分类权限申请资质
####### step1:填写承诺函并盖公章
承诺函模板:承诺函-应用名称
参考:
step2:发邮件至hwpush@huawei.com,标题正文如下,并附上盖章承诺函
上架应用无需发邮件,直接登录AppGallery Connect网站申请
3.相关链接
小米
1.简要规则:通过私信通道控制消息推送
- 私信通道消息推送不受限,需在推送运营平台申请
- 公信通道的消息推送受限如下,需在推送运营平台申请
消息类型 | 接收限制 | 推送限制 |
---|---|---|
具备《互联网新闻信息服务许可证》 | 单设备每日8条 | 3倍通知开启有效用户数 |
不具备《互联网新闻信息服务许可证》 | 单设备每日5条 | 2倍通知开启有效用户数 |
不申请消息推送受限如下:
消息类型 | 接收限制 |
---|---|
单设备每日1条 | 1倍通知开启有效用户数 |
无需邮件申请
2.相关链接:小米开放平台 (mi.com)
oppo
1.简要规则:通过私信通道控制消息推送
- 私信通道消息推送不受限
- 不申请私信通道,默认走公信通道,公信通道的消息推送受限如下:
消息类型 | 接收限制 |
---|---|
新闻 | 单设备每日5条 |
其他 | 单设备每日2条 |
- 仅上架应用可使用私信通道,下架后私信通道停用,私信通道通过邮件申请
- 未上架应用需申请推送白名单,推送白名单通过邮件申请
2.邮件申请规范
(1)上架应用
①准备步骤:开发创建私信通道并发版,登陆OPUSH推送运营平台,在【配置管理-通道配置-新建通道】进行通道登记,记下通道名称和通道ID
②邮件申请:申请无模板私信通道
step1:填写《无模板私信通道申请表》
下载表格文档,并填制通道信息:
消息类型 | 场景描述(仅作参考) | 相关截图(仅作参考) |
---|---|---|
来电消息 | 用于用户间聊天消息(私信、私聊、群聊)中的音/视频通话 | ![]() |
聊天消息 | 用于用户间聊天消息(私信、私聊、群聊) 注:用户包括普通用户和具有聊天功能的机器人,如日程通知助手,系统通知,worklink平台等 |
![]() |
step2:发送邮件至push@oppo.com,标题及正文如下,同时附上该通道对应的场景说明、及相关截图或录屏内容附件
邮件标题:xxxx(应用名称)申请推送服务白名单 邮件正文: 【无法上架原因】由于是企业定制版应用,私有化部署 【应用信息】 应用ID:XXX 应用名称:XXX 应用包名:XXX 应用类型:办公应用 APP月活用户量级:5000 公司主体:xxxx 联系方式:xxxxx 【承诺】xxx(应用名称)仅为xxxxx(公司主体)内部使用,将遵守《OPPO通知运营规范》的要求进行消息推送,若出现违规行为将接收相应处罚措施 【APP界面截图】见附件
(2)未上架应用:申请推送白名单
step1:发送邮件至push@oppo.com,标题及正文如下,同时附上通道相关APP界面截图
邮件标题:xxxx(应用名称)申请推送服务白名单 邮件正文: 【无法上架原因】由于是企业定制版应用,私有化部署 【应用信息】 应用ID:XXX 应用名称:XXX 应用包名:XXX 应用类型:办公应用 APP月活用户量级:5000 公司主体:xxxx 联系方式:xxxxx 【承诺】xxx(应用名称)仅为xxxxx(公司主体)内部使用,将遵守《OPPO通知运营规范》的要求进行消息推送,若出现违规行为将接收相应处罚措施 【APP界面截图】见附件
3.相关链接:OPPO 开放平台-OPPO开发者服务中心 (oppomobile.com)
vivo
1.简要规则:通过智能消息分类,若要防止误判需申请自分类
- 系统消息接收不受限,推送受限:3倍通知开启有效用户数
- 运营消息受限,受限如下:
消息类型 | 接收限制 | 推送限制 |
---|---|---|
新闻 | 单设备每日5条 | 3倍通知开启有效用户数 |
其他 | 单设备每日2条 | 2倍通知开启有效用户数 |
- 若系统消息要推送不受限,需邮件申请
- 接入过程:开发适配category字段
2.邮件申请规范
(1)申请系统消息推送不受限
step1:发邮件至push@vivo.com,标题正文如下
3.相关链接:vivo开放平台
.5 推送配置相关
oppo
- 适配通知通道步骤详见Android官方文档:《创建和管理通知渠道 》
注意: 客户端适配通道后, 开发者若调 API 发送,则必须带通道 ID 发送。 开发者若用 OPush 消息推送平台推送消息,则必须在“通道配置 → 新建通道”模块(如下图)中登记通道,再在发送消息时选择通道发送。
注意:通道id需要保持一致
华为
需要申请自分类权益
注意:消息类型需要保持一致
小米
注意:channel_id需要保持一致