美文网首页
图灵机器人 Android SDK 文本输入对话快速集成

图灵机器人 Android SDK 文本输入对话快速集成

作者: lisheny | 来源:发表于2017-08-26 11:26 被阅读0次

机器人客服,目前我们在微信公众号、手机应用和一些网站上都会有接触到,刚好最近项目也有接入机器人对话的需求,这里用的是图灵机器人。下面直接说如何快速将图灵机器人 sdk 接入到我们的应用中来。

  • 准备工作,到 图灵机器人官网 注册一个账号,根据自己需求在 我的机器人 里面创建一个机器人:
创建机器人

创建好之后会得到一个 APIkey 和 secret ,在集成 sdk 时会用到,下载 Android SDK ,里面 libs 文件夹里有我们需要的 jar 包。

  • 开始集成
  1. 新建一个项目,将下载的 libs 文件夹里面的 volley.jar 和 turingSDK.jar 放到工程的 libs 目录中,其他的 jar 包是语音相关的,这里我们不管;
  2. 给 AndroidMainfest.xml 添加权限:
<!-- SDK必须 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  1. 请求机器人网络回调监听:
    返回结果数据格式:
  {
      "code": 200000,
      "text": "亲,已帮你找到图片",
      "url": "http://m.image.so.com/i?q=%E5%B0%8F%E7%8B%97"
   }

网络回调:

    HttpRequestListener myHttpConnectionListener = new HttpRequestListener() {
        @Override
        public void onSuccess(String result) {
            if (result != null) {
                try {
                    Log.d(TAG, "result" + result);
                    JSONObject result_obj = new JSONObject(result);
                    if (result_obj.has("text")) {
                        Log.d(TAG, result_obj.get("text").toString());
                        mHandler.obtainMessage(MSG_SPEECH_START,
                                result_obj.get("text")).sendToTarget();
                    }
                } catch (JSONException e) {
                    Log.d(TAG, "JSONException:" + e.getMessage());
                }
            }
        }

        @Override
        public void onFail(int code, String error) {
            Log.d(TAG, "onFail code:" + code + "|error:" + error);
            mHandler.obtainMessage(MSG_SPEECH_START, "网络慢脑袋不灵了").sendToTarget();
        }
    };
  1. Handler 将得到的字符串显示在 UI 上:
 private Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case MSG_SPEECH_START:
                    addData(Constant.APP,(String) msg.obj);
                    break;
            }
        }

        ;
    };
  1. 初始化 SDK:
    这里的 TURING_APIKEY 和 TURING_SECRET 分别是创建机器人是的 APIkey 和 secret 。
    private void init() {
        mTuringManager = new TuringManager(this,TURING_APIKEY, TURING_SECRET);
        mTuringManager.setHttpRequestListener(myHttpConnectionListener);
    }
  1. 发出请求:
    public void requestTuring(String requestInfo)
    参数:requestInfo 为传递的文本
    eg:
mTuringManager.requestTuring(etInput.getText().toString().trim());
  • 至此,整个流程做完。 Demo
附图片

相关文章

网友评论

      本文标题:图灵机器人 Android SDK 文本输入对话快速集成

      本文链接:https://www.haomeiwen.com/subject/zysmdxtx.html