在即时通讯 IM 中集成 VIVO 推送

大约 3 分钟

在即时通讯 IM 中集成 VIVO 推送

环信即时通讯 IM SDK 中已经集成了 VIVO 推送(基于 vivo_push_v4.0.4.0_504.aar)相关逻辑,你还需要完成以下步骤。

步骤一 在 VIVO 开发者后台创建应用

在 VIVO 开发者后台open in new window创建应用,开启推送服务,并上传对应的证书指纹。

详见 VIVO 官方介绍:VIVO 推送服务集成open in new window。

步骤二 上传推送证书

  1. 登录 环信控制台open in new window,在 应用管理 页面点击测试版或正式版的应用的 App Key。

  2. 选择 增值功能 > 消息推送。

  3. 在 证书管理 页面,点击 添加推送证书。在 添加推送证书 对话框中选择 VIVO 页签,配置 VIVO 推送参数。参数相关信息,详见你在 VIVO 开发者后台open in new window 创建的应用的 APP ID,APP KEY 和 APP SECRET 以及程序的 包名。

img

参数类型是否必需描述
证书名称String是VIVO App ID。
证书标识String是VIVO App Key。
推送密钥String是VIVO App Secret。
CategoryString否Category 类型。关于该参数,详见 VIVO 推送文档open in new window。该参数仅对离线推送有效。
应用包名String是VIVO App package name。该参数仅对离线推送有效。
ActivityString否点击通知后的动作。 该参数仅对离线推送有效。
推送类型String否可选择 运营消息 或 系统消息。该参数仅对离线推送有效。

步骤三 集成 VIVO 推送 SDK

  1. 配置 VIVO 推送 jar 包:

在 VIVO 推送官网下载推送 SDK 包,将 jar 包放到 libs 目录下并 sync 。

此外,也可以直接使用环信 Android IM Demo 中集成的 VIVO 推送的 jar 包。

  1. 配置 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="com.hyphenate.push.platform.vivo.EMVivoMsgReceiver" >
        <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 -->
    
  2. 在即时通讯 IM SDK 初始化的时,配置启用 VIVO 推送。

EMOptions options = new EMOptions();
...
EMPushConfig.Builder builder = new EMPushConfig.Builder(this);

// `agreePrivacyStatement` 表示用户是否已同意 VIVO 推送相关隐私声明:
// true:表示用户已同意。若用户实际未同意却传入 true,可能存在合规风险,需由业务自行承担。
// false:表示用户未同意,可能影响 VIVO 推送功能。
// 应用需自行记录并管理用户的授权状态,并在初始化 SDK 前传入实际授权结果。
builder.enableVivoPush(agreePrivacyStatement);

// 将推送配置设置到初始化选项中。
options.setPushConfig(builder.build());

// 初始化 IM SDK。
EMClient.getInstance().init(this, options);
  1. VIVO 设备安装应用后默认没有打开允许通知权限,测试前请先在设置中打开该应用的允许通知权限。
上次编辑于: