本原生插件封装了名片全能王的SDK。可以识别名片的图片,将图片内名片信息以文字形式返回。
使用本原生插件之前需要先去名片全能王申请注册账号,然后跟名片全能王客服及技术支持联系,获取 SDK 包、ak 等信息 。
注意:使用本原生插件需要将从名片全能王获取的SDK包制作成自定义附加原生插件上传。
【iOS平台附加原生插件的制作】
由于名片全能王的 SDK 是动态生成并且跟包名绑定的。所以需要开发者将动态生成的的 SDK 打包成一个附加自定义原生插件上传 Yonbuilder 移动开发平台。制作方法如下:
下载 ISBCDAppendix 原生插件 zip 包并解压,把 zip 包内 target 目录下的所有文件(包括:ISBusinessCardSDK.framework、ISOpenSDKFoundation.framework、Resources、IS_BCRAllTemplete.dat、IS_BCRTemplete_AddressParse.dat 和所有的图片以及module.modulemap文件)替换为从名片全能王获取的。然后重新将 ISBCDAppendix 文件压缩为 zip 包上传 Yonbuilder 移动开发平台自定义原生插件,且勾选该原生插件。 (重新压缩时注意不要多一层目录, 注意图片和module.modulemap文件在ISOpenSDKFoundation.framework->Resources目录下,讲这些资源文件拷贝出来后,即可把Resources目录从ISOpenSDKFoundation.framework里删除掉)(_MACOSX 文件夹删掉,这是由于压缩包是Mac上制作的,在windows解压产生多的文件。 或者使用winRAR解压。)
【android平台无需附加原生插件的制作】
初始化并验证ak的正确性
verificationAppkey({params}, callback(ret, err))
android_appKey:
ios_appKey:
savePath:
BCRAllTempletePath:
BCRAllTempletePath:
ret:
{
status:0 //数字类型;操作成功状态值,取值范围如下:
//-1:nauthorized(未授权)
//0:auth success(授权成功)
//100:wrong device ID(错误的设备号)
//101:wrong app ID(错误的app ID)
//102:wrong app key(错误的app key)
//103:auth time expire(授权过期)
//104:reach device limit(达到设备上限)
//105:reach detect limit(达到识别额度上限)
//106:wrong sub app key, unused now(错误的sub app key,暂时无用)
//202:unsupported auth error(不支持的错误)
//203:server return wrong authorize info(服务器返回错误的授权信息)
//204:auth info uncreachable, network error(无法获取授权信息,网络问题)
//205:construct resource error, unused now(初始化资源失败,暂时无用)
//206:rong sdk type(错误的SDK库)
}
var ISBCD = api.require('ISBCD');
ISBCD.verificationAppkey({
ios_appKey: ‘******’,
android_appKey: ‘******’
}, function(ret, err) {
if (ret.status == 0) {
api.alert({ msg: '验证成功'});
} else {
api.alert({ msg: "验证失败" });
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
识别图片,返回文字信息
recognizeImage({params}, callback(ret, err))
path:
languages:
needImageProcess:
ret:
{
status:true //布尔类型;是否识别成功,true|false
contactInfo: { //JSON对象;识别结果字段详见sdk开发文档
}
}
err:
{
code: , //数字类型;错误码
msg: //字符串类型;返回的错误信息(ios端)
}
var ISBCD = api.require('ISBCD');
ISBCD.recognizeImage({
languages: [],
needImageProcess: 1,
path: 'fs://test.png'
}, function(ret, err) {
if (ret.status) {
api.alert({ msg: JSON.stringify(ret) });
} else {
api.alert({ msg: JSON.stringify(err) });
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
事件监听
addEventListener({params}, callback(ret, err))
target:
ret:
{
status:true //布尔类型;是否抠图成功,true|false
cropResultImage:''//字符串类型;名片抠图路径
}
err:
{
code: , //数字类型;错误码
msg: //字符串类型;返回的错误信息(ios端)
}
var ISBCD = api.require('ISBCD');
ISBCD.addEventListener({
target: ‘processImage’,
}, function(ret, err) {
if (ret.status) {
api.alert({ msg: JSON.stringify(ret) });
} else {
api.alert({ msg: JSON.stringify(err) });
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本