秒验丨Android客户端集成指南

2年前 (2022) 程序员胖胖胖虎阿
233 0 0

开发工具:Android Studio
集成方式:Gradle在线集成
安卓版本支持:minSdkVersion 19

集成前准备

注册账号
使用秒验SDK之前,需要先在MobTech官网注册开发者账号并注册应用获取Mob提供的AppKey和AppSecret,详情可以点击查看创建应用流程

提交审核
一键登录是运营商提供的能力,在使用秒验SDK之前,您需要在Mob开发者后台提交秒验审核,详情可以点击查看秒验审核流程

秒验SDK流程图
秒验丨Android客户端集成指南

添加配置

在项目Gradle文件中注册MobSDK

buildscript {
    repositories {
        // 1.添加MobSDK Maven地址
        maven {
            url "https://mvn.mob.com/android"
        }
        ...
    }
    dependencies {
        ...
        // 2.注册MobSDK
        classpath "com.mob.sdk:MobSDK:2018.0319.1724"
    }
}

秒验丨Android客户端集成指南

在项目App Module的Gradle文件中添加插件和扩展

apply plugin: 'com.mob.sdk'
MobSDK {
    appKey "您的appkey"
    appSecret "您的appsecret"
    SecVerify {}
}

在gradle.properties中添加代码
MobSDK.spEdition=FP

AndroidManifest 添加配置(3.1.2版本必须配置

<activity 
    android:name="com.mob.tools.MobUIShell" 
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize" 
    android:launchMode="standard"/>

添加混淆代码
SecVerify已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对SecVerify的混淆操作:

-ignorewarnings

#关闭某个运营商功能时编译通不过可以加上下面的代码
#-dontpreverify

# for SecVerify
-keep class com.mob.**{*;}
# for CTCC
-keep class cn.com.chinatelecom.account.**{*;}
-keep class cn.com.chinatelecom.account.api.ClientUtils{*;}
# for CUCC
-keep class com.sdk.**{*;}
# for CMCC
-keep class com.cmic.sso.sdk.**{*;}
-keep class com.unicom.xiaowo.account.shield.**{*;}

另如有用到AndResGuard混淆资源问题,请在whiteList中添加如下混淆配置:

秒验
R.anim.sec_verify_*,
R.drawable.sec_verify_*,
R.layout.sec_verify_*,
R.string.sec_verify_*,
R.color.sec_verify_*,
R.dimen.sec_verify_*,
R.style.sec_verify_*,
R.drawable.customized_toggle_*,
R.drawable.customized_checkbox_selector,
R.drawable.dialog_loading,
移动
R.anim.umcsdk_*,
R.drawable.umcsdk_*,
R.string.umcsdk_*,
R.dimen.umcsdk_*,
电信
R.anim.ct_account_*,
R.drawable.ct_account_*,
R.string.ct_account_*,
R.style.CtAuthDialog,


"R.anim.sec_verify_*",
"R.drawable.sec_verify_*",
"R.layout.sec_verify_*",
"R.string.sec_verify_*",
"R.color.sec_verify_*",
"R.dimen.sec_verify_*",
"R.style.sec_verify_*",
"R.drawable.customized_toggle_*",
"R.drawable.customized_checkbox_selector",
"R.drawable.dialog_loading",
"R.id.sec_verify_*",
"R.id.common_dialog_*",
"R.anim.umcsdk_*",
"R.drawable.umcsdk_*",
"R.string.umcsdk_*",
"R.dimen.umcsdk_*",
"R.anim.ct_account_*",
"R.drawable.ct_account_*",
"R.string.ct_account_*",
"R.style.CtAuthDialog",
"R.id.ct_account_*",
"R.id.ct_auth_*",
"R.string.service_name" ,
"R.style.Dialog_Common",
"R.id.progress_bar" ,
"R.drawable.loading"

回传用户隐私授权结果(submitPolicyGrantResult)

为保证您的App在集成MobSDK之后能够满足工信部相关合规要求,您应确保App安装首次冷启动且取得用户阅读您《隐私政策》授权之后,调用Mob提交到的隐私协议回传函数MobSDK.submitPolicyGrantResult回传隐私协议授权结果。 反之,如果用户不同意您App《隐私政策》授权,则不能调用MobSDK.submitPolicyGrantResult回传隐私协议授权结果。 相关隐私声明请参考这个链接:合规指南

//com.mob.MobSDK.class
/**
 * 回传用户隐私授权结果
 * @param isGranted     用户是否同意隐私协议
 * @param callback      接口执行结果,可为null
 */  
public static void submitPolicyGrantResult(boolean isGranted, com.mob.OperationCallback callback)

示例代码 调用位置开发者可以自己指定,只需在使用SDK功能之前调用即可。

MobSDK.submitPolicyGrantResult(true, null);
版权声明:程序员胖胖胖虎阿 发表于 2022年10月1日 上午5:24。
转载请注明:秒验丨Android客户端集成指南 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...