即时通讯
  • iOS
  • Android : Java
  • macOS
  • Windows
  • Web
  • 小程序
  • Flutter
  • Unity3D
  • uni-app
  • React Native
  • 产品简介
  • 下载
  • 快速开始
    • 跑通示例源码
    • 实现基本消息收发
  • 用户相关
  • 房间相关
  • 群组相关
  • 消息相关
  • 呼叫邀请
  • 会话管理
  • 离线推送
  • 客户端 API
  • 服务端 API
  • SDK 错误码
  • 常见问题
  • 文档中心
  • 即时通讯
  • 离线推送
  • Android 推送集成指南
  • OPPO 推送集成指南

OPPO 推送集成指南

更新时间:2023-09-20 17:55

概述

统一推送联盟 成立之后,各大厂商都推出了自己的推送服务通道,主要目的是为了建立 Android 推送生态。目前小米,华为,魅族,OPPO,vivo 等厂商都推出了系统级别的推送通道,避免了各家 APP 都使用各自的长链接来维持推送通道、需要应用进程处于存活状态,而造成手机耗电、耗内存等问题。

开发者使用 ZIM 提供的“离线推送”功能之前,请参考本文,接入 OPPO 厂商的离线推送通道。

前提条件

在接入 OPPO 的离线推送通道之前,请确保:

  • 已集成最新版本的 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息 的 “3 集成 SDK”。

  • 已完成如下步骤:

    1. 前往 OPPO 开放平台 注册企业开发者账号,并进行认证,详情请参考 开发者帐号注册流程
    2. 开发者身份认证成功后,使用 OPPO 企业开发者账号,登录 OPPO 开放平台,选择 “管理中心 > 应用服务平台 > 开发服务 > 消息推送 > 创建新的应用”,创建一个新的应用。
    3. 选择 “应用列表 > 应用”,获取所创建的应用的 AppID、AppKey、AppSecret 等信息,如图:
    4. 前往“配置管理 > 应用配置”,获取 MasterSecret 信息。

使用步骤

  1. 在项目的根目录下的 “bulid.gradle” 文件中,添加 maven 仓库。

    /Pics/ZIM/OfflinePush/oppo_maven.png

    maven 
    {
        url 'https://maven.columbus.heytapmobi.com/repository/releases/'
        credentials {
            username 'nexus'
            password 'c0b08da17e3ec36c3870fed674a0bcb36abc2e23'
        }
    }
  2. 在此文件中,添加 maven 依赖。

    implementation 'com.heytap.msp:push:3.0.0'
  3. 以上配置完成后,请在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。

  1. 防止混淆代码

    在 “proguard-rules.pro” 文件中,为 OPPO 推送 SDK 添加 -keep 类的配置,这样可以防止混淆 OPPO 推送 SDK 公共类名称:

    -keep public class * extends android.app.Service
    -keep class com.heytap.msp.** { *;}

OPPO 推送消息限制

OPPO 推送服务将消息推送通道分为两种,公信和私信,具体限制数量规则如下,详情请参见 OPPO 官网文档 推送服务受限说明

应用推送总量限制

通知栏推送权限 应用要求 消息推送量(条/日)
消息推送通道 累计用户数 可推送总量
正式权限
应用已上架 OPPO 软件商店
公信
<50000
100000
≥50000
累计用户×2
私信
不限量。
测试权限
应用未上架 OPPO 软件商店
消息推送通道 可推送总量
公信
1000
私信
不支持申请。

单设备推送条数限制

应用类别 单用户推送限制(条/日)
公信消息 私信消息
新闻类(三级分类为新闻类)
5条
不限量。
其他应用类型
2条
不限量。

使用私信通道不限量推送

  1. 您需要通过创建私信通道,才能无限制地向 OPPO 设备推送消息,详情请参考 OPPO 官网文档 创建私信通道

    邮件申请完成后,您需要在 OPPO 推送平台上登记该通道,并将通道对应属性设置为“私信”。

  2. 完成上述申请后,请联系 ZEGO 技术支持,提供 resourceID(由您自定义,不超过 32 个字符)、channel_id(渠道 ID),配置 resouceID。

    建议 resourceID 能够直接反映推送目的。例如,目的是打电话,就可以命名为 call_resource

  3. 在发起推送时,可以指定使用该 Resource ID 对应的通道进行推送。您需要将配置的 Resource ID 填写到 ZIMPushConfig 中,实现代码请参考 实现离线推送 - 发送单聊消息时使用离线推送功能

本篇目录