关于android-studio:秒验丨Android客户端集成指南

33次阅读

共计 2750 个字符,预计需要花费 7 分钟才能阅读完成。

开发工具: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);

正文完
 0