更新记录

1.0.00(2020-08-11)

1.第一版。


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


以下为本插件《接入文档》

特别推荐

体验 app 下载码,密码 123456

安卓手机,用浏览器扫码下载体验,下载密码 123456。

使用方法:先点击设置监听,按下数组键 1 或者字母键 a,页面会打印返回数据,供查看数据结构。

qrcode.png

特别提醒

扫码枪不支持中文读取。

1 硬件准备

你需要外接键盘或者扫码枪。

2 接入步骤(关注公众号 longyoung 可沟通咨询)

2.1 购买插件(建议测试版本点击购买下方的试用,正式发布的时候再购买。老用户复购有优惠,微信公众号 longyoung 回复「插件复购」获取优惠,量大从优,介绍新用户购买有提成)。

2.2 manifest.json 文件,选中「App 原生插件配置」,选中云端插件,勾选插件对应的插件。

uniapp2.png

2.3 引用并调用插件。

onLoad() {
    // #ifdef APP-PLUS

    //引用插件
    var longyoungKeyEventListen = uni.requireNativePlugin('longyoung-KeyEventListen');

    //设置监听,可设置多个,回调按 tag 区分哪个监听返回。tag 通常不必理会,固定 1 就好。
    longyoungKeyEventListen.setOnKeyEventListenerLy({tag: "1"}, result => {
        console.log('lygg.result=' + JSON.stringify(result));
        if (result && result.return_code == 'SUCCESS') {
            if(result.return_type == 'dataBack'){
                //return_type=dataBack是返回数据标识,返回的数据在此获取
                uni.showToast({
                    title: '成功,' + JSON.stringify(result)
                })
            }
        }
    });

    // #endif
}

//***以下方法在适当的时机,按需调用。建议不再获取数据的时候,取消所有监听 longyoungKeyEventListen.disableAllOnKeyEventListenerLy()
//取消某个 tag 监听,tag 通常不必理会,固定 1 就好。
longyoungKeyEventListen.disableOnKeyEventListenerLy({tag: "1"}, result => {
    console.log('lygg.result=' + JSON.stringify(result));
    if (result && result.return_code == 'SUCCESS') {
        uni.showToast({
            title: '成功'
        })
    }
});

//获取所有监听的tag
longyoungKeyEventListen.getAllKeyEventListenerTagLy({}, result => {
    console.log('lygg.result=' + JSON.stringify(result));
    if (result && result.return_code == 'SUCCESS') {
        uni.showToast({
            title: '成功'
        })
    }
});

//取消所有监听
longyoungKeyEventListen.disableAllOnKeyEventListenerLy({}, result => {
    console.log('lygg.result=' + JSON.stringify(result));
    if (result && result.return_code == 'SUCCESS') {
        uni.showToast({
            title: '成功'
        })
    }
});

2.4 打自定义基座

需要打自定义基座才可以进行测试,运行->运行到手机或模拟器->制作自定义基座。每次打自定义基座的时候,切记先把旧的基座删除(如果存在),路径在根目录下的 unpackage 文件夹里面(LyBDFaceAuthDemo\unpackage\debug\android_debug.apk)。

baoming1.png

2.5 勾选自定义基座后运行

运行->运行到手机或模拟器->运行基座选择,勾选自定义调试基座,之后运行到设备,如下图。如发现运行之后不是最新的,请先删除手机里面旧的应用,再重新运行。

uni8.png

2.6 返回结果示例

下图是按下字母 a 键返回结果截图,①action 标识按下还是弹起,②keyCode 按键值的标识,③return_code 如有异常返回 ERROR,成功返回 SUCCESS,④return_type 按键操作会返回 dataBack,⑤tag 设置监听时传的 tag,会在返回数据时携带回来,如外接了键盘和扫码枪,可以设置不同的 tag 做不同的处理。

kb1.png

常见问题

Q1:当前运行的基座不包含原生插件,怎么解决?

A:注意看上面的步骤 2.4 和 2.5,解决要点是删除旧的,不要怕麻烦,删除旧的基座和应用,可能存在缓存。

Q2:undefined is not an object (evaluating 'longyoungKeyEventListen.setOnKeyEventListenerLy')是什么问题?

A:首先检查是否是上述 Q1 的问题。如还不行,说明插件引用不成功,打日志看看引用插件代码有没有执行(引用代码前后打 console 就可判断)。特别注意组件模式,要在对应的生命周期方法,调用引用插件的代码。

版权归开发者所有,最终解释权归作者所有。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无。

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问