# 1 概述

扫码登录适用于App授权应用PC端登录,接入后即可支持在pc端扫码登陆

# 2 前置条件

接入开始前请确保已完成以下条件:

  • 已经导入了USDK资源。

  • 下载以下扫码登录相关sdk资源并集成到工程

以下是资源目录结构说明:

  • /
    • libs/ 依赖库
      • sdk-scan-1.0.0.aar

# 3 接入前准备

# 3.1 Android Studio 混淆配置

若游戏启用了混淆机制,游戏混淆发布前,务必添加以下字段到混淆文件 proguard-rules.pro

    -keep class com.hu.** {*;}
    -keep class org.opencv.** {*;}
    -keep class com.king.** {*;}
1
2
3

# 3.2 扫码库配置

将下载到的ZIP文件解压,会得到 .aar 文件,将文件复制到 libs 目录并在 build.gradle 下配置引用即可,示例如下

api fileTree(include: ['*.aar'], dir: 'libs')
1

# 3.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

# 4 接入开始

场景介绍

游戏调起扫描二维码的页面,扫码完成后,游戏监听的网页链接会返回相应的登录结果

调用方法

public void launchBarcodeScanner(Activity activity, String extraParams)
1

调用示例

HeroSdk.getInstance().launchBarcodeScanner(activity, "游戏的透传参数");
1

# 5 jar 文件升级到 aar 升级指南

  1. 删除 libs目录下 core-3.3.3.jar 与 hu_zxing.jar文件
  2. 删除 res/drawable 目录下的zx_ic_back.png 与 zx_ic_photo.png
  3. 删除 res/layout 目录下的 zx_activity_capture.xml
  4. 删除 res/raw 目录下的 zx_beep.ogg
  5. 删除 res/values 目录下的 zx_colors.xml 与 zx_strings.xml
  6. 删除以下扫码之前需要的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
本文档对解决你的问题有所帮助?