扫码登录-拓展功能
# 1 概述
扫码登录适用于App
授权游戏PC
端登录与支付,接入后即可支持在pc端扫码登陆与支付
# 2 前置条件
接入开始前请确保已完成以下条件:
- 已经导入了USDK资源。
# 3 代码接入
场景介绍
游戏通过此接口调用,调起二维码扫码页面,进行扫码登录与支付等功能 (此功能属于USDK功能,是扫码入口,无论后续选择哪种模式,必须要调用)
调用方法
public void launchBarcodeScanner(Activity activity, String extraParams)
1
调用示例
HeroSdk.getInstance().launchBarcodeScanner(activity, "游戏的透传参数");
1
# 4 提供两种扫码库集成模式
# 4.1 在中台勾选扫码插件,通过中台打包的模式将扫码库依赖进去
集成步骤
1. 游戏客户端首先调用launchBarcodeScanner接口
2. 出游戏母包
3. 将游戏母包上传到中台
4. 运营在中台勾选上扫码插件
5. 出渠道包
中台插件位置
# 4.2 通过aar的方式将扫码库集成到游戏内部
资源下载
下载以下扫码登录相关sdk资源并集成到工程
扫码登录SDK相关资源下载地址: 点击下载 (opens new window)
以下是资源目录结构说明:
- /
- libs/
依赖库 - sdk-scan-1.0.0.aar
# 4.2.1 Android Studio 混淆配置
若游戏启用了混淆机制,游戏混淆发布前,务必添加以下字段到混淆文件 proguard-rules.pro
中
-keep class com.hu.** {*;}
-keep class org.opencv.** {*;}
-keep class com.king.** {*;}
1
2
3
2
3
# 4.2.2 扫码库配置
将下载到的ZIP文件解压,会得到 .aar
文件,将文件复制到 libs
目录并在 build.gradle
下配置引用即可,示例如下
api fileTree(include: ['*.aar'], dir: 'libs')
1
# 4.2.3 ABI过滤(可选,但需要重点看一下)
需要根据游戏适配的架构进行配置,如果游戏本身支持'armeabi-v7a'
, 'arm64-v8a'
, 'x86'
, 'x86_64'
这四种架构,那不用进行ndk配置,可以略过3.3
build.gradle
里面的 android{} 中设置支持的 SO 库架构(可选配置,默认包含 'armeabi-v7a'
, 'arm64-v8a'
, 'x86'
, 'x86_64'
架构)
defaultConfig {
//...
ndk {
//设置支持的 SO 库架构(开发者可以根据需要,选择一个或多个平台的 so)
abiFilters 'armeabi-v7a' , 'arm64-v8a', 'x86', 'x86_64'
//如果游戏本身只支持arm64-v8a, armeabi-v7a 那么配置如下
//abiFilters 'armeabi-v7a' , 'arm64-v8a'
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 5 升级指南(按照以下步骤检查游戏内的配置,并按照步骤进行处理)
- 删除 libs目录下 core-3.3.3.jar 与 hu_zxing.jar文件
- 删除 res/drawable 目录下的zx_ic_back.png 与 zx_ic_photo.png
- 删除 res/layout 目录下的 zx_activity_capture.xml
- 删除 res/raw 目录下的 zx_beep.ogg
- 删除 res/values 目录下的 zx_colors.xml 与 zx_strings.xml
- 删除以下扫码之前需要的manifest配置
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<activity
android:name="com.hu.zxlib.base.ScannerActivity"
android:configChanges="orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
<activity
android:name="com.hu.scan.permission.PermissionActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|stateAlwaysHidden" />
<activity
android:name="com.ultrasdk.activity.HuslActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
本文档对解决你的问题有所帮助?
文档反馈