android集成环信客服云_2019.6.12

首先 去环信官网注册账号,并且根据文档进行app关联操作

安装sdk

 //环信客服SDK
    implementation 'com.hyphenate:kefu-easeui-android:latest.release'
    //或者 compile 'com.hyphenate:kefu-easeui-android:1.1.9r2'
    //EaseUI中 头像获取用到了glide,请添加glide库
    implementation 'com.github.bumptech.glide:glide:4.7.1' //其他版本也可以
    implementation 'com.easemob:kefu-sdk:1.1.9r2'

初始化环信

在MyApplication 的onCreate()中

  ChatClient.Options options = new ChatClient.Options();
        options.setAppkey("***#***");//必填项,appkey获取地址:kefu.easemob.com,“管理员模式 > 渠道管理 > 手机APP”页面的关联的“AppKey”
        options.setTenantId("******");//必填项,tenantId获取地址:kefu.easemob.com,“管理员模式 > 设置 > 企业信息”页面的“租户ID”

        ChatClient.getInstance().init(this, new ChatClient.Options().setConsoleLog(true));
        // Kefu SDK 初始化
        if (!ChatClient.getInstance().init(this, options)){
            return;
        }
        // Kefu EaseUI的初始化
        UIProvider.getInstance().init(this);
        //后面可以设置其他属性

最好将用户注册放在服务器端进行

 ChatClient.getInstance().register(“账号”, “密码”), new Callback(){
                                            @Override
                                            public void onSuccess() {

                                            }

                                            @Override
                                            public void onError(int code, String error) {

                                            }

                                            @Override
                                            public void onProgress(int progress, String status) {

                                            }
                                        });

创建ChatAcActivity.class

import android.graphics.Color;
import android.os.Build;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import com.hyphenate.helpdesk.easeui.ui.ChatFragment;
import  R;

public class ChatAcActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_chat_ac);
        ChatFragment chatFragment = new ChatFragment();
        chatFragment.setArguments(getIntent().getExtras());
        getSupportFragmentManager().beginTransaction().add(R.id.container, chatFragment).commit();
        View view = getWindow().getDecorView();
        view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
        //得到当前界面的装饰视图
        if(Build.VERSION.SDK_INT >= 21) {
            View decorView = getWindow().getDecorView();
            //设置让应用主题内容占据状态栏和导航栏
            int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
            decorView.setSystemUiVisibility(option);
            //设置状态栏和导航栏颜色为透明
            getWindow().setStatusBarColor(Color.TRANSPARENT);
            getWindow().setNavigationBarColor(Color.TRANSPARENT);
        }
        //隐藏标题栏
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
    }
}

资源文件
activity_chat_ac.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <FrameLayout
        android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

拉起客服聊天时调用
这是测试时候图省事这么写的 不建议学我

   if (ChatClient.getInstance().isLoggedInBefore()) {
                        Intent intent2 = new IntentBuilder(getContext())
                                .setTargetClass(ChatAcActivity.class)
                                .setTitleName("客服")//这是传到聊天界面的客服昵称,
                                .setServiceIMNumber("*****") //获取地址:“管理员模式 > 渠道管理 > 手机APP”页面的关联的“IM服务号”
                                .build();
                        startActivity(intent2);
                    } else {
                        ChatClient.getInstance().login(sp.getString("userName",null),sp.getString("password",null), new Callback(){
                            @Override
                            public void onSuccess() {
                                if (ChatClient.getInstance().isLoggedInBefore()) {
                                    Intent intent2 = new IntentBuilder(getContext())
                                            .setTargetClass(ChatAcActivity.class)
                                            .setTitleName("客服")//这是传到聊天界面的客服昵称,
                                            .setServiceIMNumber("*****") //获取地址:“管理员模式 > 渠道管理 > 手机APP”页面的关联的“IM服务号”
                                            .build();
                                    startActivity(intent2);}
                                else
                                {

                                }
                            }

                            @Override
                            public void onError(int code, String error) {
                                if (ChatClient.getInstance().isLoggedInBefore()) {
                                    Intent intent2 = new IntentBuilder(getContext())
                                            .setTargetClass(ChatAcActivity.class)
                                            .setTitleName("客服")//这是传到聊天界面的客服昵称,
                                            .setServiceIMNumber("*****") //获取地址:“管理员模式 > 渠道管理 > 手机APP”页面的关联的“IM服务号”
                                            .build();
                                    startActivity(intent2);}
                                else
                                {

                                }
                            }

                            @Override
                            public void onProgress(int progress, String status) {
                                if (ChatClient.getInstance().isLoggedInBefore()) {
                                    Intent intent2 = new IntentBuilder(getContext())
                                            .setTargetClass(ChatAcActivity.class)
                                            .setTitleName("客服")//这是传到聊天界面的客服昵称,
                                            .setServiceIMNumber("*****") //获取地址:“管理员模式 > 渠道管理 > 手机APP”页面的关联的“IM服务号”
                                            .build();
                                    startActivity(intent2);}
                                else
                                {

                                }
                            }
                        });
                    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值