API文档
IOS_SDK文档
SDK隐私政策
说明
Hi,您好,欢迎使用有道智云作文批改Android SDK。
本文档主要针对需要集成 作文批改 Android SDK的开发工程师,详细描述作文批改能力及集成过程。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱: AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云语音技术交流QQ群:861723255
联系邮箱: zhiyun@corp.youdao.com
温馨提示:
本文档主要针对开发人员,接入测试前需要在后台创建 Android 应用,并绑定服务;如果您还没有,请按照 新手指南 操作。
平台向每个账户赠送50元的体验金,供用户集成前测试所用,具体资费规则详见 作文批改服务报价 。
作文批改安卓sdk 是有道智云开放平台提供的云服务之一,是有道作文批改接口的一种实现,支持中英,图片和文本两种模式。
共有中英图文类型4个接口。
图像类型:
图像数据 => 转换成Base64编码 => 网络请求 => 返回结果
文本类型:
文本数据 => 网络请求 => 返回结果
支持设备:运行了 Android 9及以上系统的 Android 设备
开始集成SDK之前开发者需要登录 有道智云平台 ,创建应用获取应用ID(或者通过运营人员获取应用ID),以便使用作文批改服务。
根据官网控制台 提示,直接下载SDK,SDK中包含简易可运行的Demo。如下图所示:
lib目录下为作文批改sdk所需的jar包和so文件
CompositionDemo 为作文批改的demo
接入文档和demo运行需要修改位置的Readme.txt
1.使用AndroidStudio 导入项目
2.
打开Redame.txt,按步骤修改demo即可
1.修改Appkey和AppSecret
2.build.gradle 修成为自己Appkey所对应的包名
3.修改完成之后,连接设备就可以运行了
请在工程文件根目录下创建一个名为 lib的子目录(有的话则不需要创建),把和对应jar包、so文件拷贝到lib文件夹下,并将以下代码添加到app的build.gradle中:
android {
...
sourceSets {
main {
jniLibs.srcDirs = ['lib']
}
}
}
dependencies {
//base
implementation files('lib/YoudaoBase_v20230209.jar')
//作文批改
implementation files('lib/compositioncorrection_v20230209.jar')
//json解析及网络请求
implementation "com.google.code.gson:gson:2.10.1"
implementation "com.squareup.okhttp3:okhttp:4.10.0"
}
具体版本号参考智云给的lib包
使用作文批改SDK,请在程序的Application中调用SDK初始化代码,可以参考demo中MyApplication
注:appKey即应用id 。sdk请使用sdk类型的appkey
//TODO 修改成智云官网申请的AppKey和AppSecret
private val MY_APP_KEY = ""
private val appSecret = ""
override fun onCreate() {
super.onCreate()
YouDaoApplication.init(this,MY_APP_KEY,appSecret)
}
CompositionCorrection.correctionChineseImage(
input =imageBase64, //需要批改的图片的base64字符串
listener= object : CorrectListener { //批改作文的回调接口 成功或者失败
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@ChineseImageActivity, CorrectResultActivity::class.java).apply {
putExtra("result",result as Serializable)
putExtra("type","ch_image")
})
}
}
},
grade = grade,//作文等级
title = title,//作文标题
requirement= requirement, //题目要求
)
返回结果释义详见API文档:中文作文批改—图像
CompositionCorrection.correctionChineseText(
input = CH_TEXT_TEST_DATA, //需要批改文本
grade = grade,//作文等级
title = title,//作文标题
requirement= requirement, //题目要求
listener= object : CorrectListener {//批改作文的回调接口 成功或者失败
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(Companion.TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@ChineseTextActivity,CorrectResultActivity::class.java).apply {
putExtra("result",result as Serializable)
putExtra("type","ch_text")
})
}
}
}
)
返回结果释义详见API文档:中文作文批改—文本
CompositionCorrection.correctionEnglishText(
input = EN_TEXT_TEST_DATA, //需要批改的图片的base64字符串
grade = grade,//作文等级
title = title ,//作文标题
isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查询同义词
correctVersion = correctVersion, //作文批改版本:基础,高级
isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回写作报告(essayReport字段,仅在高级批改时生效)
listener= object : CorrectListener { //批改作文的回调接口 成功或者失败
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@EnglishTextActivity,CorrectResultActivity::class.java).apply {
putExtra("result",result )
putExtra("type","en_text")
})
}
}
}
)
返回结果:英语作文批改(文本输入)
CompositionCorrection.correctionEnglishImage(
input =imageBase64, //需要批改文本
grade = grade,//作文等级
title = title ,//作文标题
isNeedSynonyms=binding.cbIsNeedSynonyms.isChecked, //是否查询同义词
correctVersion = correctVersion, //作文批改版本:基础,高级
isNeedEssayReport = binding.cbIsNeedEssayReport.isChecked, //是否返回写作报告(essayReport字段,仅在高级批改时生效)
listener= object : CorrectListener { //批改作文的回调接口 成功或者失败
override fun onError(errorCode: Int?, msg: String?, requestId: String?) {
Log.e(TAG, "onError: errorCode:$errorCode,msg:$msg,requestId:$requestId", )
}
override fun onResult(result: Serializable, requestId: String) {
runOnUiThread {
startActivity(Intent(this@EnglishImageActivity, CorrectResultActivity::class.java).apply {
putExtra("result",result )
putExtra("type","en_image")
})
}
}
}
)
返回结果:
错误码请参考API文档