美洽SDK

时间:2023-03-10 06:33:42
美洽SDK

简介



官网地址:http://meiqia.com/

功能:
  • 美洽是全新的在线客服方式。顾客在访问你的网站时,使用你的产品时,面临支付疑问时,都可以通过美洽一键与顾客对话,真是一种很美的洽谈。
  • 美洽连接各种渠道的顾客。美洽几乎能让顾客在所有能接触到你的地方找到你,桌面网站、手机网站、移动应用、微博企业号、微信公众号,这些通通支持,甚至脱离互联网的线下海报和广告牌,也能以二维码的方式连接到美洽。
  • 美洽帮你提高客户服务质量。美洽提供完整详细的顾客活动和对话信息,这些数据帮你找到客户服务的薄弱点,更有针对性的去解决问题,进而提高服务质量。还能为你统计客服的工作强度,以及工作成果,帮你客观的评价团队工作绩效。
价格:
美洽SDK

集成库
// -------------------- 以下三个库是必须依赖的 ----------------------------
compile 'com.meiqia:meiqiasdk:3.2.5@aar'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.squareup.okhttp3:okhttp:3.3.1'

// 目前支持常见的 4 种图片加载库,必须在下面四个图片加载库中选择一个添加依赖
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
//    compile 'com.github.bumptech.glide:glide:3.7.0'
//    compile 'com.squareup.picasso:picasso:2.5.2'
//    compile 'org.xutils:xutils:3.3.36'
美洽SDK

使用
if (App.mUserDetailInfo != null) userId = App.mUserDetailInfo.getCustomerId();
MQCustomerManager.getInstance(this).showCustomer(userId);

public class MQCustomerManager {
    private static final int REQUEST_CODE_CONVERSATION_PERMISSIONS = 1;
    //请替换成APP的APPKey
    private static String meiqiaKey = "4e8d341b193f4271791767e0c834da84";
    //采用单利模式创建管理对象
    private static MQCustomerManager instance;
    private Context context;
    private static boolean hasSetClientInfo;
    public static synchronized MQCustomerManager getInstance(Context context) {
        if (instance == null) {
            instance = new MQCustomerManager(context);
            hasSetClientInfo = false;
        }
        return instance;
    }

    private MQCustomerManager(final Context context) {
        this.context = context;
        //初始化美洽客服
        MQConfig.init(context, meiqiaKey, new OnInitCallback() {
            @Override
            public void onSuccess(String clientId) {
            }
            @Override
            public void onFailure(int code, String message) {
            }
        });
        MQManager.setDebugMode(false);
    }

    //打开客服
    public void showCustomer(String userId) {
        //上传用户信息到后台
        if (!hasSetClientInfo && null != App.saveUserInfo.getAccess_Token()){
            Map<String, String> info = new HashMap<>();
            info.put("用户名", App.mUserDetailInfo.CustomerId);
            MQManager.getInstance(context).setClientInfo(info, new OnClientInfoCallback(){
                @Override
                public void onFailure(int i, String s) {
                }
                @Override
                public void onSuccess() {
                    hasSetClientInfo = true;
                }
            });
        }
        //没有美洽用户ID时,使用游客登录
        if (TextUtils.isEmpty(userId)) conversationWrapper();
        //存在用户时,使用APP用户的CustomerID登录
        else context.startActivity(new MQIntentBuilder(context).setCustomizedId(userId).build());
    }

    @AfterPermissionGranted(REQUEST_CODE_CONVERSATION_PERMISSIONS)
    private void conversationWrapper() {
        String[] perms = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO};
        if (EasyPermissions.hasPermissions(context, perms))conversation();
        else EasyPermissions.requestPermissions(this, context.getString(R.string.mq_runtime_permission_tip), REQUEST_CODE_CONVERSATION_PERMISSIONS, perms);
    }

    private void conversation() {
        MQConfig.ui.backArrowIconResId = android.support.v7.appcompat.R.drawable.abc_ic_ab_back_mtrl_am_alpha;
        MQConfig.ui.titleBackgroundResId = R.color.red;
        MQConfig.ui.titleTextColorResId = android.R.color.white;
        MQConfig.ui.titleGravity = MQConfig.ui.MQTitleGravity.CENTER;
        context.startActivity(new MQIntentBuilder(context).build());
    }
}