开发者中心

准备工作

概述

本文是短信认证SDK v1.0.0 版本接入文档,用于指导SDK的使用方法,默认读者已经熟悉 IDE 的基本使用方法,并具有一定的 Android 编程知识基础。

合规性说明

SDK名称 场景描述 收集个人信息的类型 第三方机构名称 数据是否加密传输 第三方隐私政策链接
上海璟梦信息科技有限公司短信认证SDK 短信验证码 上海璟梦信息科技有限公司短信认证SDK提供短信验证码服务过程中收集和使用的信息包括:
①设备信息:用于识别唯一用户,检测和防止欺诈活动,帮助开发者规避不必要的损失;
②手机号码与短信内容:由开发者主动提供,用于通过电信运营商的渠道为开发者进行短信发送
上海璟梦信息科技有限公司 https://sdk.253.com/commit-detail/rcc5zd/fd21s8

创建应用

应用的创建流程及APPID的获取,请查看「账号创建」文档
注意:如果应用有多个包名或签名不同的马甲包,须创建多个对应包名和签名的应用,否则包名或签名将校验不通过。

快速体验demo

SDK压缩包中demo文件是短信示例工程,使用Android studio打开完成以下步骤配置即可运行测试:

  1. 将build里面的applicationId换成您的测试包名
  2. 将build里面的签名配置改成您的签名配置
  3. 将AndroidManifest 里面的appId换成您创建应用后生成的AppKey

开发环境搭建

将SDK中libs目录下的jar包拷贝到您工程的libs目录下,如没有该目录需新建,并在build文件的dependencies中添加jar包依赖:

repositories {
    flatDir {
        dirs '../app/libs'
    }
}
dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')}

配置权限:

<uses-permission android:name="android.permission.INTERNET"/>

权限说明:

权限名称 权限说明 使用说明
INTERNET 允许应用程序联网 用于访问网关和认证服务器

如果使用指纹认证,需配置权限:

    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />

权限说明:

权限名称 权限说明 使用说明
USE_BIOMETRIC 允许应用使用设备支持的生物特征识别方式 用于指纹识别
USE_FINGERPRINT 允许应用程序使用指纹硬件 用于指纹识别

在AndroidManifest 的application标签中配置:

<meta-data android:name="CL_SDK_APP_KEY" android:value="您应用的AppKey"/>

混淆规则:

-dontwarn com.chuanglan.sms.**
-keep class com.chuanglan.sms.** { *;}
-dontwarn com.chuanglan.sdk.**
-keep class com.chuanglan.sdk.** { *;}

短信验证码使用说明

1.初始化

调用SDK其他任何方法前,请确保已调用过初始化,否则会失败并返回未初始化。

方法原型

void init(Context context)

参数描述

参数 类型 说明
context Context ApplicationContext对象

调用示例

CLBaseManager.init(getApplicationContext());

2.获取验证码

方法原型

void getVerificationCode(String templateId, String phoneNumber, GetCodeListener getCodeListener)

参数描述

参数 类型 说明
templateId String 短信模板ID
phoneNumber String 手机号
getCodeListener GetCodeListener 获取验证码结果回调

调用示例

            CLSMSManager.getVerificationCode("13245651, "13526253625", new GetCodeListener() {
                    @Override
                    public void getCodeSuccess(String result) {
                    }
                    @Override
                    public void getCodeFail(int code, String result) {
                    }
                });

3.校验验证码

方法原型

void commitVerificationCode(String templateId, String phoneNumber, String code, CheckCodeListener checkCodeListener)

参数描述

参数 类型 说明
templateId String 短信模板ID
phoneNumber String 手机号
code String 验证码
checkCodeListener CheckCodeListener 校验验证码结果回调

调用示例

                CLSMSManager.commitVerificationCode(template, checkNumber, code, new CheckCodeListener() {
                    @Override
                    public void checkCodeSuccess(String result) {
                    }
                    @Override
                    public void checkCodeFail(int code, String result) {
                    }
                });

指纹验证使用说明

1.初始化

该方法用于判断当前环境是否支持指纹验证,可提前调用,根据回调结果确定是否调用后续方法。

方法原型

void init(Context context, FingerprintInitListener fingerprintInitListener)

参数描述

参数 类型 说明
context Context ApplicationContext对象
fingerprintInitListener FingerprintInitListener 初始化结果回调
  • 调用示例
                FingerprintVerifyManager.init(getApplicationContext(), new FingerprintInitListener() {
                    @Override
                    public void successed(String result) {
                    }
                    @Override
                    public void failed(int code, String result) {
                    }
                });

2.判断是否绑定过指纹

方法原型

/**
 * @return true :已绑定指纹;false :未绑定指纹
 */
boolean isBindFingerprint(Context context, String userId)

参数描述

参数 类型 说明
context Context ApplicationContext对象
userId String 用户id

调用示例

FingerprintVerifyManager.isBindFingerprint(getApplicationContext(), "123456789")

3.配置系统自带的指纹弹框

注意:此方法针对9.0及以上系统,9.0之前系统无系统指纹弹框,需自己写弹窗界面

方法原型

void setUiConfig(FingerprintUIConfig fingerprintUIConfig)

参数描述

参数 类型 说明
fingerprintUIConfig FingerprintUIConfig 界面配置

调用示例

FingerprintVerifyManager.setUiConfig(new FingerprintUIConfig.Builder()
                .setDescription("请按压屏内指纹感应区验证指纹")
                .setTitle("绑定指纹")
                .setSubTitle("自定义测试")
                .setCancelText("退出").build());

上面配置展示结果示例:

image.png

4.开始指纹扫描

方法原型

void fingerprintStart(Context context, String userId, boolean isBind, FingerprintListener fingerprintListener)

参数描述

参数 类型 说明
context Context ApplicationContext对象
userId String 用户id
isBind boolean 是否是绑定功能:true 绑定;false 登录;
fingerprintListener FingerprintListener 扫描结果

调用示例

                        FingerprintVerifyManager.fingerprintStart(FingerprintActivity.this, "123456789",
                                false, new FingerprintListener() {
                            @Override
                            public void successed(String result, String userId) {
                            }
                            @Override
                            public void failed(int code, String result) {
                            }
                        });

5.结束指纹扫描

方法原型

void cancelFingerprint()

调用示例

FingerprintVerifyManager.cancelFingerprint();