尊敬的用户您好!即日起本官网将启用新域名"shanyan.253.com",原域名(flash.253.com)将自动跳转至新域名,原域名后期将停用。请您及时更新浏览器收藏夹或直接使用新域名访问本官网。万分感谢您的配合!

闪验、创蓝闪验

服务端升级指南


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版本升级指南

   

所有版本通用方式:替换aar包并删除旧版本SDK所有相关的xml,so,aar文件。再导入新版SDK中的所有资源文件(jnilib文件夹中的so库


v2.3.1.x ->v2.3.2.x

  • 替换aar包和jniLibs文件夹的so库文件
  • 混淆新增:

-dontwarn com.unicom.xiaowo.account.shield.**

-keep class com.unicom.xiaowo.account.shield.** {*;}



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

  • 替换aar包和jniLibs文件夹的so库文件
  • 替换manifest里面的activity配置
  • 新增普通权限(CHANGE_WIFI_STATE)
  • 如使用AndResGuard资源压缩过滤请替换为:

   

"R.anim.umcsdk*",
"R.drawable.umcsdk*",
"R.layout.layout_shanyan*",
"R.id.shanyan_view*",


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版本中的PermissionActivityOAuthActivity

      

<!--****************************联通****************************-->
<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版本升级至指定版本或最新版即可



v2.3.0.x&v2.3.1.x ->v2.3.3.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 配置属性
  • 简化拉起授权页传参
  • 新增拉起授权页回调
  • 更多详细信息请关注集成文档


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`的属性来设置