• 秒验丨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
  • 相关阅读:
    mysql索引详解
    【第39篇】RepLKNet将内核扩展到 31x31:重新审视 CNN 中的大型内核设计
    实时即未来,大数据项目车联网之实时ETL开发的核心逻辑【六】
    【30】c++设计模式——>状态模式
    Java Collections.fill()方法具有什么功能呢?
    每日一题:【LeetCode】349.两个数组的交集
    2022-8-24 华为秋招笔试
    面试记录_
    linux 开机遇见unmount and run xfs_repair
    PyTorch 2.0 重磅发布:一行代码提速 30%
  • 原文地址:https://blog.csdn.net/apkkkk/article/details/126387139