欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

图灵机器人SDK接入指南

程序员文章站 2022-05-29 21:03:00
...

图灵机器人SDK接入指南

图灵机器人:官网

注册账号

注册个账号,创建个应用,进入后台,点开机器人接入,你会看到API keysecret

图灵机器人SDK接入指南

下载SDK

点击下载Android SDK,解压以后会有libs

图灵机器人SDK接入指南

copy到自己的工程

加入权限

如果用API接入,应该只用网络权限就行了把,官方要求下面这几个权限,时间紧迫,我也没有一一去验证,直接加上把。

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

添加jar

将下载的SDK里的libs目录下的jar和so都导入工程

想不明白,为什么Demo还在使用Eclipse,是Demo没有更新,还是工程师……

图灵SDK初始化

// turingSDK初始化
SDKInitBuilder builder = new SDKInitBuilder(this).setSecret(`这里填写secret`).setTuringKey(`这里填写API Key`).setUniqueId(`这里填写自己添加的一个标示符,如邮箱、 手机号等等`);
SDKInit.init(builder, new InitListener() {
    @Override
    public void onFail(String error) {
        Log.d(TAG, error);
    }

    @Override
    public void onComplete() {
        // 获取userid成功后,才可以请求Turing服务器,需要请求必须在此回调成功,才可正确请求
        mTuringApiManager = new TuringApiManager(MainActivity.this);
        mTuringApiManager.setHttpListener(myHttpConnectionListener);
    }
});

图灵网络请求回调

/**
 * 网络请求回调
 */
HttpConnectionListener myHttpConnectionListener = new HttpConnectionListener() {

    @Override
    public void onSuccess(RequestResult result) {
        if (result != null) {
            try {
                Log.d(TAG, result.getContent().toString());
                mTv2.setText(result.getContent().toString());
                JSONObject result_obj = new JSONObject(result.getContent().toString());
                if (result_obj.has("text")) {
                    Log.d(TAG, result_obj.get("text").toString());
        // 科大讯飞语音合成
                    mBitMainSpeechCompound.speaking(result_obj.get("text").toString());
                }
            } catch (JSONException e) {
                Log.d(TAG, "JSONException:" + e.getMessage());
            }
        }
    }

    @Override
    public void onError(ErrorMessage errorMessage) {
        Log.d(TAG, errorMessage.getMessage());
    }
};

图灵解析

mTuringApiManager.requestTuringAPI(data);

Demo

Demo只是简单的使用了下图灵SDK,没有使用任何设计模式,可以作为参考

GitHub:TuringSDK