uni-app接入android原生环信客服(非IM)

uni-app接入android原生环信客服(非IM)

介绍

  • 原因:最近用uni-app需要集成环信客服,直接webview加载环信H5版本的客服,在android上有问题,ios上能用。所以就接入了环信android原生的客服功能。
  • 基本思路:综合时间、成本、效果等方面的考虑,决定把客服所有的功能由原生activity客服页面去实现,uni-app端只负责启动这个原生activity客服页面。
  • 实现效果:基于环信客服访客端demo集成,支持文字、语音、表情、拍照、图片、视频、文件,进入客服页面时可设置访客信息、发送订单或者轨迹消息。

![http://docs.easemob.com/cs/start]

github地址 (给个star吧)


更多关于uni-app接入android原生环信客服(非IM)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app接入android原生环信客服(非IM)的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在将uni-app接入Android原生环信客服(非IM)时,我们需要通过uni-app的插件机制来实现原生功能的调用。以下是一个简化的步骤和代码示例,展示如何在uni-app中集成Android原生环信客服SDK。

步骤一:准备环信客服SDK

首先,确保你已经从环信官网下载并集成了Android原生环信客服SDK到你的Android项目中。环信客服SDK通常包含一些必要的类和资源文件,你需要按照环信提供的文档进行集成。

步骤二:创建uni-app插件

在HBuilderX中,创建一个新的原生插件项目。这个插件将负责调用Android原生环信客服SDK。

1. 插件目录结构

uni-plugins/
└── my-easemob-customer-service/
    ├── AndroidManifest.xml
    ├── plugin.json
    └── src/
        └── main/
            ├── java/
            │   └── com/
            │       └── yourcompany/
            │           └── myeasemobcustomerservice/
            │               ├── MyEasemobCustomerService.java
            └── res/

2. plugin.json

plugin.json中定义插件的基本信息和需要暴露给uni-app的接口。

{
    "id": "com.yourcompany.myeasemobcustomerservice",
    "name": "MyEasemobCustomerService",
    "version": "1.0.0",
    "description": "Uni-app plugin for Easemob Customer Service",
    "provider": "yourcompany",
    "android": {
        "integrateType": "aar",
        "compileOptions": {
            "sourceCompatibility": "JavaVersion.VERSION_1_8",
            "targetCompatibility": "JavaVersion.VERSION_1_8"
        },
        "permissions": [],
        "dependencies": []
    },
    "cloudfunctions": []
}

3. MyEasemobCustomerService.java

MyEasemobCustomerService.java中实现调用环信客服SDK的逻辑。

package com.yourcompany.myeasemobcustomerservice;

import android.content.Context;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;

public class MyEasemobCustomerService extends UniModule {
    @JSMethod(uiThread = false)
    public void startCustomerService(UniJSCallback callback) {
        // 调用环信客服SDK的启动方法
        // 假设环信客服SDK有一个叫startCustomerService的方法
        // EasemobCustomerService.startCustomerService(mContext);
        callback.invoke("Success");
    }
}

注意:上述代码中的EasemobCustomerService.startCustomerService(mContext);是假设的调用方式,你需要根据环信客服SDK的实际API进行调整。

步骤三:在uni-app中使用插件

在uni-app项目中,通过uni.requireNativePlugin引入并使用该插件。

const easemobPlugin = uni.requireNativePlugin('com.yourcompany.myeasemobcustomerservice');
easemobPlugin.startCustomerService((res) => {
    console.log(res); // 输出 "Success"
});

通过上述步骤,你就可以在uni-app中调用Android原生环信客服SDK了。请根据实际环信客服SDK的文档和API进行调整和完善。

回到顶部