1.将qys_mobile_cert_2023_09_25.aar放入lib目录中,在build.gradle中添加
xxxxxxxxxximplementation(name: 'qys_mobile_cert_2023_10_12', ext: 'aar')2.项目依赖第三方BC库以及gson,在build.gradle中添加
xxxxxxxxxximplementation'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'implementation 'com.google.code.gson:gson:2.9.0'implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.60'implementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: '1.60'3.集成使用
x
// 初始化SDK// 契约锁私有化环境QYSMobileCertManager.initSDK(context,qysPrivateHost,initResult->Log.d("init",initResult));
// 跳转到契约锁移动印章管理页面执行// 入参类型为AppCompatActivity 实例QYSMobileCertManager.goQYSMobileCertListPage(activity);
// 第三方扫描契约锁二维码(激活印章/签署/加解密),由SDK进行解析// 入参1 :二维码扫描结果// 入参2 :类型为AppCompatActivity 实例// SDK 返回是否是契约锁二维码,返回true SDK默认处理逻辑,返回false,App执行自己的逻辑boolean qrCodeBelongToQys = QYSMobileCertManager.processQRCode(qrCode,activity);
// 内嵌H5集成使用移动印章签署,参考Demo中 WebviewActivity.java// 提供两种集成使用方式,由于契约锁注册对象为 ‘android’,如果第三方也使用 ‘android’注册过JS,会导致方法被擦除,可以实现IMobileCertSignImp// 如果集成过契约锁物理用印SDK/指纹签署SDK/活体检测SDK,使用第一种方式// 方式一// step 1 注册javascriptQMobileCert_JSFuction.getInstance().injectData(this,webView);webView.addJavascriptInterface(new ThirdJSFuction(),"android");
// step 2 App JS类实现 IMobileCertSignImpclass ThirdJSFuction implements IMobileCertSignImp{ public void thirdSelfMethod1(){ // TODO 第三方自己的JS方法..... }}
// 方式二,该Activity中未使用 ‘android’注册 JS方法,可选择该方案QMobileCert_JSFuction.getInstance().registJSFunction(this,webView);
// WebView设置契约锁UAString qysUa = "Qiyuesuoapp/private AppBundleID/com.genyannetwork.qys AppVersion/4.2.5";String ua = webView.getSettings().getUserAgentString();webView.getSettings().setUserAgentString(ua + qysUa);4.混淆 SDK已经做了混淆处理,如果项目需要使用混淆,请在proguard-rules.pro添加
-keep class com.qiyuesuo.sdk.mobilecert.**{*;}