在即时通讯 IM 中集成 VIVO 推送
大约 2 分钟
Andorid 集成文档
在即时通讯 IM 中集成 VIVO 推送
即时通讯 IM SDK 中已经集成了 VIVO 推送(基于 vivo_push_v4.0.4.0_504.aar)相关逻辑,你还需要完成以下步骤。
步骤一 在 VIVO 开发者后台创建应用
在 VIVO 开发者后台创建应用,开启推送服务,并上传对应的证书指纹。
详见 VIVO 官方介绍:VIVO 推送服务集成。
步骤二 上传推送证书
在声网控制台上传华为推送证书。
- 展开控制台左上角下拉框,选择需要开通即时通讯 IM 服务的项目。 
- 点击左侧导航栏的全部产品。 
- 在下拉列表中找到即时通讯 IM 并点击。 
- 在即时通讯 IM 页面,进入功能配置标签页。 
- 在推送证书 页签下,点击添加推送证书。 
- 在添加推送证书对话框中,选择 VIVO 页签,配置 VIVO 推送参数。参数相关信息,详见你在 VIVO 开发者后台创建的应用的 - APP ID,- APP KEY和- APP SECRET以及程序的- 包名。

| 参数 | 类型 | 是否必需 | 描述 | 
|---|---|---|---|
| 证书名称 | String | 是 | 填写 VIVO App ID。 | 
| 证书标识 | String | 是 | 填写 VIVO App Key。 | 
| 推送密钥 | String | 是 | 填写 VIVO App Secret。 | 
| Category | String | 否 | 选择 category 类型。 | 
| 应用包名 | String | 是 | 填写 VIVO App package name。 | 
| Activity | String | 否 | 选择点击通知后的动作。 | 
| 推送类型 | String | 否 | - 运营消息 - 系统消息 | 
步骤三 集成 VIVO 推送 SDK
- 配置 VIVO 推送 jar包:
在 VIVO 推送官网下载推送 SDK 包,将 jar 包放到 libs 目录下并 sync 。
- 配置 - AndroidManifest.xml。- 推送服务需要的 - service和- receiver,并且需要配置 VIVO 的- app_id和- app_key:- <!-- VIVO 推送配置 start --> <service android:name="com.vivo.push.sdk.service.CommandClientService" android:permission="com.push.permission.UPSTAGESERVICE" android:exported="true" /> <receiver android:name="io.agora.push.platform.vivo.VivoMsgReceiver" > <intent-filter> <!-- 接收推送消息 --> <action android:name="com.vivo.pushclient.action.RECEIVE" /> </intent-filter> </receiver> <meta-data android:name="com.vivo.push.api_key" android:value="开发者自己申请的 appKey" /> <meta-data android:name="com.vivo.push.app_id" android:value="开发者自己申请的 appId" /> <!-- VIVO 推送配置 end -->
- 在即时通讯 IM SDK 初始化的时,配置启用 VIVO 推送。 - ChatOptions options = new ChatOptions(); ... PushConfig.Builder builder = new PushConfig.Builder(this); // 需设置 agreePrivacyStatement boolean类型参数,明确是否同意隐私声明: // true:若用户未同意隐私声明,而这里设为 `true`,可能存在合规风险,需业务自己承担合规风险。 // false:不同意隐私声明, 会影响推送功能 // 如使用即时通讯 IM 自动登录功能 agreePrivacyStatement 需由客户自行本地记录用户授权行为 builder.enableVivoPush(agreePrivacyStatement); // 将 pushconfig 设置为 ChatOptions options.setPushConfig(builder.build()); // 初始化 IM SDK ChatClient.getInstance().init(this, options);
- VIVO 设备安装应用后默认没有打开允许通知权限,测试前请先在设置中打开该应用的允许通知权限。