统一推送联盟
成立之后,各大厂商都推出了自己的推送服务通道,主要目的是为了建立 Android 推送生态。目前小米,华为,魅族,OPPO,vivo 等厂商都推出了系统级别的推送通道,避免了各家 APP 都使用各自的长链接来维持推送通道、需要应用进程处于存活状态,而造成手机耗电、耗内存等问题。
开发者使用 ZIM 提供的“离线推送”功能之前,请参考本文,接入 vivo 厂商的离线推送通道。
在接入 vivo
的离线推送通道之前,请确保:
已集成最新版本的 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息 的 “3 集成 SDK”。
已完成如下步骤:
获取 vivo SDK。
点击获取 vivo 推送 SDK。
本文提供的 vivo SDK 包只支持 ZPNs 2.5.0 及以上版本。
添加 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')
打开 “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"/>
以上配置完成后,请在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。
防止混淆代码
在“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 官网文档 推送消息限额。
消息分类 | 应用类别 | 用户接收数量限制 |
---|---|---|
系统消息 |
/ |
无限制。 |
运营消息 |
新闻资讯类(具备《互联网新闻信息服务许可证》,且应用分类为“新闻资讯”)。 |
5条。 |
其他类。 |
2条。 |
|
测试消息 |
审核中的应用,推送权限为“受限”,只能通过 API,向在 Web 页面中添加的测试设备发送测试消息,测试设备数量上限为 20 个,测试消息不受量级和频控限制。 发送测试消息时注意填写 pushMode=1 (0:正式推送;1:测试推送;不填默认为 0)。若未填写,则文案相同时,将被当做重复运营消息被去重。 |
字段 | 说明 |
---|---|
resourceID |
由您自定义,不超过 32 个字符。 建议 resourceID 能够直接反映推送的信息。例如,推送与打电话有关,就可以命名为 call_resource 。 |
category |
推送类别。
|
classification |
消息类型。
|
联系我们
文档反馈