开发工具:Android Studio
集成方式:Gradle在线集成
安卓版本支持:minSdkVersion 19
集成前准备
注册账号
使用秒验SDK之前,需要先在MobTech官网注册开发者账号并注册应用获取Mob提供的AppKey和AppSecret,详情可以点击查看创建应用流程
提交审核
一键登录是运营商提供的能力,在使用秒验SDK之前,您需要在Mob开发者后台提交秒验审核,详情可以点击查看秒验审核流程
秒验SDK流程图
添加配置
在项目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"
}
}
在项目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);