• 秒验丨Android客户端集成指南


    开发工具: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"
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

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

    apply plugin: 'com.mob.sdk'
    MobSDK {
        appKey "您的appkey"
        appSecret "您的appsecret"
        SecVerify {}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

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

    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    添加混淆代码
    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.**{*;}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    另如有用到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"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    回传用户隐私授权结果(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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    MobSDK.submitPolicyGrantResult(true, null);
    
    • 1
  • 相关阅读:
    【面试题】java后端开发实习(含答案)
    数据治理系列:数仓建模之数仓主题与主题域
    Oracle 笔记
    Pytorch迁移学习训练病变分类模型
    关于 JVM 的内存模型
    树形DP杂题
    常用命令总结
    【Java设计模式 经典设计原则】七 LOD迪米特法则
    CREO:CREO软件之工程图界面的简介(图文教程)之详细攻略
    自定义http状态码
  • 原文地址:https://blog.csdn.net/apkkkk/article/details/126387139