logo
当前页

集成 vivo 推送

概述

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

前提条件

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

  • 已集成最新版本的音视频通话 UIKit(Call Kit),并且完成在线邀请功能,详情请参考 快速开始(包含呼叫邀请)

  • 已完成如下步骤:

    1. 前往 vivo 开放平台 注册开发者账号,并进行认证,详情请参考 企业开发者注册。
    2. 开发者身份认证成功后,使用 vivo 开发者账号,登录 vivo 开放平台,在首页选择 “消息推送”。
    3. 点击 “推送申请”,申请一个新的应用,并获取该应用的 AppID、AppKey、AppSecret 等信息。
    4. 创建应用后,无论应用审核通过与否,您都可以申请 vivo 推送服务,等待审核通过。

使用步骤

  1. 获取 vivo 推送 SDK。

    点击获取 vivo 推送 SDK

  2. 添加 vivo 推送 SDK。

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

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

    Untitled
    <!--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"/>
    
    1
    Copied!
  4. 以上配置完成后,请前往 ZEGO 控制台,点击“项目管理”,选择需要配置的项目,查看“项目配置”。在“服务配置 - 即时通讯 - 离线推送证书配置” 中 “点击添加证书”,如下图所示(针对每个 Android 厂商,您至多可以添加两个证书):

    Note

    图中字段“Project ID” 为您在各厂商申请的参数,根据每个厂商不一样。

    添加完成后,您可以在“离线推送证书配置”模块看到该证书,还可以再次编辑或删除该证书。

  5. 防止混淆代码

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

    Untitled
    -dontwarn com.vivo.push.** 
    -keep class com.vivo.push.**{*; } 
    -keep class com.vivo.vms.**{*; }
    -keep class im.zego.zpns.internal.receiver.VivoMessageReceiver
    
    1
    Copied!

vivo 推送消息限制

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

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

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

  1. 完成上述申请后,请登录ZEGO 控制台,添加 resourceID,步骤如下:

    1. 选择项目管理,查看对应的项目。

    2. 选择 服务配置- 即时通讯 页面,下滑到“自定义推送策略(resourcesID)配置,点击“添加 resourceID”。

    3. 提供 resourceID(由您自定义,不超过 32 个字符)、 category(推送类别)、classification(分类)、push_mode(推送模式),配置 resouceID。

      字段说明
      resourceID由您自定义,不超过 32 个字符。
      建议 resourceID 能够直接反映推送目的。例如,目的是打电话,就可以命名为 call_resource
      category推送类别。
      • 填写 category 后,可以不填写 classification。
      • 但若填写 classification,请保证 category 与 classification 是正确对应关系,否则无法推送。
      classification消息类型。
      • 运营类消息。
      • 系统类消息。
      push_mode推送模式。
      • 正式环境。
      • 测试环境。
  2. 在发起邀请时,可以指定使用该 Resource ID 对应的通道进行推送。您需要将配置的 Resource ID 填写到对应的呼叫邀请按钮中或者设置给呼叫邀请接口,即可在呼叫邀请的时候使用离线推送功能。