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

vivo 推送集成指南

更新时间:2023-09-21 18:53

概述

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

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

前提条件

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

使用步骤

  1. 获取 vivo SDK。

    点击获取 vivo 推送 SDK

    本文提供的 vivo SDK 包只支持 ZPNs 2.5.0 及以上版本。

  2. 添加 vivo SDK。

    将 vivo 推送 SDK “vivo_pushSDK_xxxxx.aar”(xxxxx 为具体版本号),拷贝到您项目路径的 “app/libs” 目录下。然后,在 “build.gradle” 中添加 aar 依赖,参考如下:

    implementation files('libs/vivo_pushSDK_v3.0.0.7_488.aar')
  3. 打开 “src/main/” 文件夹下的 AndroidManifest.xml 文件,开发者需要在当前应用程序中,配置 前提条件 中获取到的 vivo 应用的 AppID、AppKey 等信息。

    <!--Vivo Push开放平台中应用的appid 和app key-->
    <meta-data
        android:name="com.vivo.push.api_key"
        android:value="xxxxxxxxxxxxxxxx"/>
    
    <meta-data
        android:name="com.vivo.push.app_id"
        android:value="xxxxxxx"/>
  4. 以上配置完成后,请在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。

  1. 防止混淆代码

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

    -dontwarn com.vivo.push.** 
    -keep class com.vivo.push.**{*; } 
    -keep class com.vivo.vms.**{*; }
    -keep class   xxx.xxx.xxx.PushMessageReceiverImpl{*;}

vivo 推送消息限制

vivo 推送将消息分为“系统消息”和“运营消息”两大类别。未接入消息分类,将默认为运营消息,受运营消息规则管控。详情请参见 vivo 官网文档 推送消息限额

消息分类 应用类别 用户接收数量限制
系统消息
/
无限制。
运营消息
新闻资讯类(具备《互联网新闻信息服务许可证》,且应用分类为“新闻资讯”)。
5条。
其他类。
2条。
测试消息
审核中的应用,推送权限为“受限”,只能通过 API,向在 Web 页面中添加的测试设备发送测试消息,测试设备数量上限为 20 个,测试消息不受量级和频控限制。
发送测试消息时注意填写 pushMode=1(0:正式推送;1:测试推送;不填默认为 0)。若未填写,则文案相同时,将被当做重复运营消息被去重。
  • 通知开启的有效用户:应用集成的 push-sdk 订阅成功,且设备近 14 天内有联网的通知权限开启用户。​
  • 通知开启有效用户数<10000,则运营消息量级默认为 10000。

基于系统消息配置不限量推送

  1. 请联系 ZEGO 技术支持,提供 resourceID(由您自定义,不超过 32 个字符)、 category(推送类别)、classification(分类)、push_mode(推送模式),配置 resouceID。

    字段 说明
    resourceID
    由您自定义,不超过 32 个字符。
    建议 resourceID 能够直接反映推送目的。例如,目的是打电话,就可以命名为 call_resource
    category
    推送类别。
    • 填写 category 后,可以不填写 classification。
    • 但若填写 classification,请保证 category 与 classification 是正确对应关系,否则无法推送。
    classification
    消息类型。
    • 0:运营类消息,不填默认为 0。
    • 1:系统类消息。
    push_mode
    推送模式。
    • 0:正式推送。
    • 1:测试推送。
  2. 在发起推送时,可以指定使用该 Resource ID 配置系统消息通道进行推送。您需要将配置的 Resource ID 填写到 ZIMPushConfig 中,实现代码请参考 实现离线推送 - 发送单聊消息时使用离线推送功能

本篇目录