开发者中心

服务端升级指南

v2版本服务端接口对接2.3.0以后版本SDK(包含2.3.0)。v2版本接口与v1版本接口不兼容,2.3.0版本以前版本的SDK需对接v1版服务端接口。

v1->v2

  • v2版接口地址变更,由V1的三网三个地址变更为一个地址。
  • v2版接口参数传入参数变更,v1的传入参数都是由2.3.0以前版本SDK返回。v2版传入对应的2.3.0版本SDK只返回token一个参数, 其他参数由APP服务端生成,sign签名参数需要APP服务端实现签名算法进行签名。
  • v2版接口返回的手机号码加解密方式变更。变更为默认AES算法,支持RSA算法,由传入的encryptType字段的值来控制。 V1接口默认是DES算法。

注意事项:
如您之前已经接入了2.3.0以前版本的SDK并已上线使用,此时要接入2.3.0版本SDK,那么需要升级APP服务端代码,对使用新的2.3.0版SDK的APP开发新的APP服务端接口,用于对接v2接口,区别于之前的老版接口,这样逻辑分离便于对接和维护。

Android版本升级指南

**  注意: 三网运营商内部执行不同,升级完成必须分别使用三网运营商的卡进行测试,防止功能异常!**

v2.3.4.3 ->v2.3.6.0

  • 替换aar包

v2.3.3.9 ->v2.3.4.3

  • 删除libCtaApiLib.solibShanYCore.so(已经打到aar包中)
  • 替换aar包(如果是采用maven集成,修改依赖的SDK版本号)
  • 按照对接文档修改manifest中授权页LoginAuthActivity的包名类名(LoginAuthActivity改成com.cmic.gen.sdk.view.GenLoginAuthActivity);activity的主题、方向等其他配置不用修改
  • 按照文档修改混淆规则

v2.3.3.8 ->v2.3.3.9

  • 替换aar包和jniLibs文件夹的so库文件
  • 按照对接文档修改manifest中授权页LoginAuthActivity的名字

v2.3.2.0 ->(v2.3.3.0~v2.3.3.8)

  • 替换aar包和jniLibs文件夹的so库文件
  • 对于全局禁用Http的项目,需要新增10010.com为Http白名单。即项目中需要添加两个:cmpassport.com和10010.com(如果使用android:usesCleartextTraffic="true"配置支持http的,可忽略此条)

v2.3.1.x ->v2.3.2.0

  • 替换aar包和jniLibs文件夹的so库文件
  • 修改混淆规则

v2.3.0.x ->v2.3.1.x

  • 替换aar包和jniLibs文件夹的so库文件
  • 替换manifest里面的activity配置
  • 新增普通权限(CHANGE_WIFI_STATE)

v2.2.x ->v2.3.0.x

  • 替换aar包和jniLibs文件夹的so库文件;
  • 初始化init方法去除appkey参数
  • 新增授权页的可配置项,授权页背景可设置动态和视频,自定义协议增加至三个,checkbox间距和大小可设置,书名号可去除,可配置授权页全屏显示。
  • 点击一键登录成功返回的result字段,解析成json数据为{“token”: “” } 置换手机号接口变动,具体需看服务端对接文档。
  • 如使用AndResGuard资源压缩过滤请替换为:
R.anim.umcsdk_anim_loading

R.drawable.authbackground_image
R.drawable.login_bg_gray
R.drawable.oauth_anim_loading_dialog
R.drawable.oauth_loading_bg
R.drawable.progress_bar_states
R.drawable.selector_button_cucc
R.drawable.sy_sdk_left
R.drawable.sysdk_anim
R.drawable.umcsdk_check_image
R.drawable.umcsdk_checkbox_bg.xml
R.drawable.umcsdk_login_btn_bg
R.drawable.umcsdk_return_bg
R.drawable.umcsdk_shap_bg
R.drawable.umcsdk_uncheck_image
R.drawable.umcsdk_load_dot_white
R.drawable.umcsdk_mobile_logo

R.layout.activity_ctcc_privacy_protocol
R.layout.activity_oauth
R.layout.cmcc_navigationbar_back_layout
R.layout.oauth_loading_dialog
R.layout.shanyan_navigationbar_layout
R.layout.shanyan_privacy_layout
R.layout.sysdk_activity_onekey_login

R.id.loading_parent
R.id.oauth_loading_dialog_img
R.id.loading
R.id.oauth_loading_dialog_txt
R.id.sysdk_cucc_login_layout
R.id.cuc_webview
R.id.navigation_bar
R.id.oauth_back
R.id.oauth_title
R.id.oauth_content
R.id.navigation_bar_line
R.id.app_name
R.id.other_login
R.id.login_before_text
R.id.service_and_privacy
R.id.authorize_app
R.id.is_agree
R.id.shanyan_navigationbar_include
R.id.sy_cucc_boby
R.id.oauth_logo
R.id.oauth_mobile_et
R.id.brand
R.id.oauth_login
R.id.protocol
R.id.shanyan_onkeylogin_loading
R.id.agreement_title
R.id.ctcc_agreement_back
R.id.oauth_help
R.id.baseweb_webview
R.id.sysdk_ctcc_login_layout
R.id.sysdk_login_boby
R.id.sysdk_authority_finish
R.id.sysdk_log_image
R.id.tv_per_code
R.id.bt_one_key_login
R.id.shanyan_privacy_include
R.id.sysdk_identify_tv
R.id.shanyan_privacy_rootlayout
R.id.shanyan_privacy_checkbox_rootlayout
R.id.shanyan_privacy_checkbox
R.id.shanyan_privacy_text
R.id.shanyan_navigationbar_root
R.id.shanyan_navigationbar_back_root
R.id.shanyan_navigationbar_back
R.id.shanyan_navigationbar_title

v2.2.0.x ->v2.2.1.x

  • 替换aar包和jniLibs文件夹的so库文件;
  • 修改控件设置背景图片
  • 优化偶现的崩溃问题
  • 添加debug日志开关 OneKeyLoginManager.getInstance().setDebug(true)
  • 协议栏添加居左显示
  • 优化流程逻辑
  • 如使用AndResGuard资源压缩过滤请替换为:

R.id.sysdk_ctcc_login_layout
R.id.sysdk_login_head
R.id.ctcc_return_button
R.id.sysdk_title_return_button
R.id.umcsdk_title_name_text
R.id.sysdk_login_boby
R.id.sysdk_authority_finish
R.id.sysdk_log_image
R.id.tv_per_code
R.id.bt_one_key_login
R.id.umcsdk_login_text
R.id.loading
R.id.sy_ctcc_agreement_ll
R.id.ctcc_agree_checkbox
R.id.sy_ctcc_cb
R.id.authorize_agreement
R.id.sysdk_identify_tv
R.id.shanyan_onkeylogin_loading
R.id.agreement_title
R.id.ctcc_agreement_back
R.id.oauth_title
R.id.oauth_help
R.id.baseweb_webview
R.id.sysdk_cucc_login_layout
R.id.cuc_webview
R.id.navigation_bar
R.id.sy_cucc_title_head
R.id.cucc_return_button
R.id.oauth_back
R.id.oauth_title
R.id.oauth_help
R.id.navigation_bar_line
R.id.sy_cucc_boby
R.id.oauth_logo
R.id.app_name
R.id.oauth_mobile_et
R.id.brand
R.id.oauth_login
R.id.other_login
R.id.protocol
R.id.cucc_agree_checkbox
R.id.is_agree
R.id.login_before_text
R.id.service_and_privacy
R.id.cucc_authorize_agreement
R.id.authorize_app
R.id.sysdk_cucc_slogan
R.id.small_logo
R.id.sysdk_cucc_slogan_tv
R.id.shanyan_onkeylogin_loading
R.id.loading_parent
R.id.oauth_loading_dialog_img
R.id.oauth_loading_dialog_txt
R.id.ivProgress

R.anim.umcsdk_anim_loading

R.drawable.btn_bg_blue
R.drawable.login_bg_gray
R.drawable.oauth_anim_loading_dialog
R.drawable.oauth_loading_bg
R.drawable.progress_bar_states
R.drawable.sy_check
R.drawable.sy_sdk_left
R.drawable.sy_uncheck
R.drawable.sysdk_anim
R.drawable.umcsdk_checkbox_bg
R.drawable.umcsdk_return_bg
R.drawable.umcsdk_shap_bg
R.drawable.preoperaicon
R.drawable.umcsdk_load_dot_white

R.layout.activity_ctcc_privacy_protocol
R.layout.activity_oauth
R.layout.oauth_loading_dialog
R.layout.sysdk_activity_onekey_login

R.color.blue_ctc

v2.2.0.1 ->v2.2.0.2

  • 替换aar包和jniLibs文件夹的so库文件;
  • 优化授权页在未销毁完成时,拉起授权页出现默认页面或者空白页面
  • 优化偶现的崩溃问题
  • 添加debug日志开关 OneKeyLoginManager.getInstance().setDebug(true)
  • 协议栏添加居左显示
  • 优化流程逻辑

v2.2.0 ->v2.2.0.1

  • 替换aar包和jniLibs文件夹的so库文件;
  • 更新联通运营商包
  • 优化内存泄漏问题

v2.2.0

  • 替换aar包和jniLibs文件夹的so库文件;
  • 授权页原有控件增加显示隐藏属性,X偏移量;
  • 调用方法由原来的7个方法变更为3个方法,并舍弃监听方法;


初始化方法如下:

 OneKeyLoginManager.getInstance().init(getApplicationContext(), appId, appKey,new InitListener() {
                            @Override
                            public void getInitStatus(int code, String result) { 
                            }
                        });

v2.1.3

  • 替换aar包和jniLibs 文件夹的so库文件
  • 增加销毁授权页方法,并添加开关参数


销毁授权页方法

O neKeyLoginManager.getInstance().finishAuthActivity();


开关参数:true:在点击一键登录后获取到token后自动销毁,false:授权页不销毁,由开发者控制销毁时机

O neKeyLoginManager.getInstance().LoginStart(false); 

v2.1.2

  • 更新sdk库文件 打开libs文件夹,复制其中的aar包替换掉之前旧包,删除上个版本的res中的xml布局文件分别是

sysdk_activity_onekey_login.xml ---------------  电信免密布局文件
     activity_oauth.xml-----------------------------  联通免密布局文件
     oauth_loading_dialog.xml ---------------------  联通免密布局文件
     打开jnilib文件夹,添加项目对应架构的so库文件,也可以全部添加

  • 更新AndroidManifest.xml(注:移除2.1.1版本中的PermissionActivity和OAuthActivity)

<!--****************************联通****************************-->
<activity
android:name="com.sdk.mobile.ui.OauthActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTop"
android:screenOrientation="portrait"/>

<!--************************移动********************************-->
<activity
android:name="com.cmic.sso.sdk.activity.LoginAuthActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTop"
android:screenOrientation="portrait"/>
<!--******************************电信***********************-->
<activity
android:name="com.chuanglan.shanyan_sdk.view.ShanYanOneKeyActivity"
android:screenOrientation="portrait"/>
<!--******************************协议页***********************-->
<activity
android:name="com.chuanglan.shanyan_sdk.view.CTCCPrivacyProtocolActivity"
android:screenOrientation="portrait"/>

iOS版本升级指南

2.3.x版本需与服务端同步升级
220及221的用户可更新至220.x或者221.x最新版本平滑升级,无服务端变更

**手动集成闪验所有版本通用方式:**22.x版本向高版本升级时请替换闪验framework文件夹下所有静态库以及.bundle资源文件

替换SDK静态库: 删除旧版本SDK所有相关的.framework``.bundle文件,清除缓存,再导入新版SDK中的所有.framework``.bundle文件(.bundle文件注意保留开发者自定义资源)

远程仓库CocoaPods  pod 集成方式:
1.如之前项目中手动集成过闪验,需删除项目中手动集成的.framework和.bundle资源文件,再进行pod安装
2.如之前项目中未集成或pod集成过闪验,直接pod版本升级至指定版本或最新版即可
3.如果pod 闪验版本(<=2.3.3.4)升级到 2.3.3.5 及以上版本,由于移动运营商SDK名称发生变化(TYRZSDK->TYRZUISDK) 需要先在pod文件中 注释闪验 执行pod install(删除旧的) 然后取消注释 并变更到新版本 重新执行pod install

v2.3.4.6->2.3.4.x及以上版本

  • 替换所有sdk包体:删除原sdk所有包体,添加framework文件夹中所有包体
  • 支持iOS12以下的项目需要导入networking.framework这个包

v2.3.0.x&v2.3.1.x ->v2.3.3.x/v2.3.4.x

  • 替换所有sdk包体:删除原sdk所有包体,添加framework文件夹中所有包体
  • 重要:如项目中使用闪验vcclass的字符串判断类名等非常规操作,如"ZUOAuthViewController"、“UAAuthViewController”、“PublicLoginViewController”、“CLCTCCCarouselViewController”、“CLCTCCCarouselNavigationController”、“UANavigationController”、“CLCTCCPublicLoginNavigationController”、“CLShanYanAuthPageIsaSwizzleNavigationController”,现已统一为:CLShanYanAuthPageNavigationController(授权页nav)、CLShanYanAuthPageViewController(授权页vc)、CLCTCCCarouselNavigationController(弹窗模式下协议页nav)、CLCTCCCarouselViewController(协议页vc)
  • 现sdk回调默认为全局global队列,如需UI操作请务必自行切换到主线程

v2.3.0.x ->v2.3.1.x

  • 替换所有sdk包体
  • 删除隐私协议 clAppPrivacyLineFragmentPaddingclAppPrivacyContentInset属性,目前只要设置clAppPrivacyTextContainerInset属性即可达到设置文本内边距的效果

v2.2.x ->v2.3.x

  • 替换所有sdk包体
  • 初始化init方法去除appkey参数
  • iOS13下,若需全屏显示授权页,请设置baseConfigure.clAuthWindowModalPresentationStyle = @(UIModalPresentationOverFullScreen)
  • 点击一键登录成功返回的token字段为

{
     “token”: “”
 } ,
置换手机号接口变动,具体需看服务端对接文档

v2.2.0.x ->v2.2.1.2

  • 替换CL_ShanYanSDK.framework即可
  • 创建布局对象,按需设置布局值,再设置到uiconfigure.clOrientationLayOutPortrait属性
  • 若要监控页面拉起和一键登录,可用带区分的拉起授权页方法

v2.1.3.x ->v2.2.1

  • 替换所有framework和bundle
  • 创建布局对象,按需设置布局值,再设置到uiconfigure.clOrientationLayOutPortrait属性
  • 若要监控页面拉起和一键登录,可用带区分的拉起授权页方法

v2.2.0.4 ->v2.2.0.5

  • 替换CL_ShanYanSDK.framework

v2.2.0.3 ->v2.2.0.4

  • 替换所有framework和bundle
  • 可使用原属性配置代码,也可以使用新的属性:
    • 创建布局对象,按需设置布局值,再设置到uiconfigure.clOrientationLayOutPortrait属性
    • 若要监控页面拉起和一键登录,可用带区分的拉起授权页方法

v2.2.0.2 ->v2.2.0.3

  • 替换所有framework和bundle
  • 优化无SIM卡时改变用户导航栏透明度
  • 优化部分无SIM卡用户使用hook方法导致的崩溃
  • 优化授权页logo圆角设置不生效bug

v2.2.0.1 ->v2.2.0.2

  • 替换所有framework和bundle
  • 更新联通SDK至3.7.5版本,提升拉起授权页速度
  • 更新电信SDK至1.5.1支持bitcode版本
  • 优化模拟器奔溃bug
  • 新增一键登录按钮、脱敏手机号默认宽高,解决部分用户使用默认值不显示问题
  • 优化导航栏左侧按钮设置
  • 优化一键登录按钮背景色设置
  • 优化SDK内存释放策略

v2.2.0 ->v2.2.0.1

  • 替换所有framework和bundle
  • 修复iOS12.0beta系统导致的崩溃bug

v2.2.0

  • 升级请替换闪验framework,注意复制.bundle资源文件夹中的图片文件至项目中
  • 完全统一三网界面并且开放更多CLUIConfigure 配置属性
  • 简化拉起授权页传参
  • 新增拉起授权页回调

[

](https://www.yuque.com/api253/shanyan/uynvxg/edit)

v2.1.3.2

  • 更新联通SDK至3.7.5版本,提升拉起授权页速度
  • 更新电信SDK至1.5.1支持bitcode版本

v2.1.3.1

  • 修复iOS12.0beta系统导致的崩溃bug
  • 优化联通用户多次点击一键登录产生多次回调问题

v2.1.3

  • 替换闪验framework文件
  • 新增manualDismiss属性,选择授权页面销毁机制
  • 删除clNavigationAttrTitle属性

更换为一下三个属性

/**导航栏标题*/
NSString * clNavText;
/**导航栏标题字体*/
UIFont * clNavTextFont;
/**导航栏标题颜色*/
UIColor * clNavTextColor;

v2.1.2.1_B

  • 替换闪验framework
  • 隐私协议(《xxx隐私条款》)/slogan(由XXX提供认证服务)Y轴偏移量需要用户端适配

v2.1.2_B

  • 删除电信移动Bundle文件(已不需要),替换闪验framework
  • 授权页可直接使用同一份配置,配置类修改为CLUIConfigure(父类),也可以分别配置CLCTCCUIConfigure``CLCMCCUIConfigure``CLCUCCUIConfigure
  • 预取号状态查询取消  +(CLSDKPrepareStutas)clSDKQuickLoginPrepareStutas;
  • 隐私协议(《xxx隐私条款》)/slogan(由XXX提供认证服务)Y轴偏移量需要用户端适配

v2.1.1_B

  • SDK初始化内部不再自动预取号,建议开发者手动添加预取号调用,建议在拉起授权页的VC的-(void)viewDidLoad中调用或者提前调用
  • 对外的预初始化状态查询方法修改为预取号状态查询:
    • +(CLSDKInitStutas)clSDKInitStutas;
    • +(CLSDKPrepareStutas)clSDKQuickLoginPrepareStutas;

v2.0.7 ->v2.1.0

  • 升级请替换account_login_sdk_core.framework、account_verify_sdk_core.framework、OAuth.framework联通静态库、EAccountApiSDK.framework电信静态库,初次对接请替换或导入所有framework文件
  • 升级电信SDK
  • 升级联通SDK
  • 新增联通授权页可配置参数
  • 修改联通可添加、配置控件Block
  • 新增电信隐私条款属性配置

v2.0.6.x ->v2.0.7

更换所有framework文件

v2.0.5.x ->v2.0.6

授权页页面配置部分属性调整,建议先全部使用默认配置(不设置),再逐一设置 参考v2.0.6.0:授权页页面配置属性调整

v2.0.2/2.0.3/2.0.4 ->v2.0.5.x/2.0.6/2.0.7

  • SDK初始化接口名更换,原先写在其他位置的初始化可直接转移到appdelegate启动方法中统一初始化且只需调用一次
  • SDK一键登录接口名更换
    • 原先的授权页面添加自定义控件通过创建页面配置类CLC*CCUIConfigure的自定义控件block来设置
    • 原先的授权页页面调整通过创建页面配置类CLC*CCUIConfigure的属性来设置