Skip to content

更新说明 X5内核版本

pepperer edited this page Jul 19, 2024 · 60 revisions

7.16.3 完善日志输出

        val config = InitConfig.builder()
            .clientId(KaeConfig.S_CLIENT_ID)
            .logCallback(object : LogCallback {
                override fun onLog(eventType: String, message: String) {
                    // 接入根据eventType判断自己的业务是否需要做保存
                    //  eventType 当前有: 
                }
            })
            .build()

SDK补充日志信息, LogCallback的onLog方法移除原有返回值

日志类型eventType:

  • 通用
  • 初始化
  • 开放事件
  • 接口调用
  • WebView 事件
  • CONSOLE日志

7.14.15

初始化:

InitConfig.builder()
    .clientId(KaeConfig.S_CLIENT_ID)
    .appkey("")
    // 开放接口
    .adapter(object : YouZanSDKX5Adapter() {
        // x5初始化完成回调
        override fun onCoreInitFinished() {
            super.onCoreInitFinished()
            Log.d("youzan", "onCoreInitFinished")
        }
         // x5初始化完成回调
        override fun onViewInitFinished(b: Boolean) {
            super.onViewInitFinished(b)
            Log.d("youzan", "onViewInitFinished")
        }

        // 开始初始化x5
        override fun onStartX5TbsInit() {
            super.onStartX5TbsInit()
            Log.d("youzan", "onStartX5TbsInit")
            QbSdk.setDownloadWithoutWifi(true)
        }
        
       // x5自定义配置, 也可在onStartX5TbsInit 自行实现
        override fun getX5TbsSettings(): MutableMap<String, Any> {
            Log.d("youzan", "getX5TbsSettings")
            val tbsSetings = mutableMapOf<String, Any>()
            return tbsSetings
        }
    })

外部路径问题: SDK提供了长按保存图片的功能 ,< Android 9 流程里需要用到外部存储路径

  1. 关闭该功能, 初始化传入配置
val config = InitConfig.builder()
    .settings(mutableMapOf(
        YouzanSettings.SETTINGS_SUPPORT_SAVE_IMAGE_WITH_LONG_PRESS to false).toMap()
    )
  1. 或者, 自行实现长按保存图片功能
mView.setSaveImageListener(object : SaveImageListener {
    override fun onSaveImage(result: WebView.HitTestResult?): Boolean {
        // 长按保存图片流程
        return  true
    }
})

7.14.14

SharePreference deviceId key修改,处理合规检测误报问题

7.14.12

开放SDK日志接口

  val config = InitConfig.builder()
            .clientId(KaeConfig.S_CLIENT_ID)
            .appkey("")
            .adapter(YouZanSDKX5Adapter())
            .setImageAdapter(object : IImageAdapter {
                override fun setImage(view: ImageView, url: String) {

                }

                override fun setImage(view: ImageView, res: Int): Boolean {
                    return false
                }

            })
            .logCallback(object : LogCallback {
                override fun onLog(eventType: String, message: String): Boolean {
                    return false
                }
            })
            .build()
        YouzanSDK.init(this, config)

版本7.11.1,7.12.1

【7.11.1版本由于在MavenCentral关联依赖缺少导致错误,升级到7.12.1或有赞云maven仓库放在最前面】 支持大客定制商家,通过前端定制自定义JSBridge与原生交互, 前端接入方式:

import { isAppSdk } from '@youzan/utils/browser/ua';
import { action } from 'yz-js-bridge';
action.doCall('customAction', {
    action: 'openHome'
}, result => {
    console.log(result);
});

app内接收方式:

 mView.subscribe(new AbsCustomEvent(){

            @Override
            public void callAction(@NotNull Context context, @NotNull String action, @NotNull String data) {
                switch (action){
                    case "openHome":
                        //此处具体实现根据对应需求做调整
                      
                        break;
                }
            }
        });

版本7.10.0

部分功能优化及问题修复

版本7.9.0

添加下拉刷新状态控制订阅事件(AbsChangePullRefreshEvent),用于部分H5页面与接入方页面产生冲突时禁止特定页面下拉刷新,使用方式参照demo中com.youzanyun.sdk.sample.basic.YouzanFragment 的代码 ,该事件仅支持:下单页面的地址编辑页面触发回调

版本7.8.0

升级适配Target API 33,主要影响点在网页图片保存部分(老版本IDE可能会提示需要升级工程AGP),如无新版本兼容需要可暂不升级

版本7.6.1

YouzanSDK init方法增加init(@NonNull Context context,InitConfig initConfig)初始化方法
如需自行控制loading加载时机,请设置InitConfig的advanceHideX5Loading 属性
当advanceHideX5Loading 为false 时,loading会到页面完全加载完成时消失
当advanceHideX5Loading 为true 时,loading会到在dom加载完成后消失
默认为 true

变更示例: 如果原先的初始化方式如下:

    YouzanSDK.init(getApplicationContext(), "0073bccbaf5369028a", "", false, new YouZanSDKX5Adapter(), new InitCallBack() {
            @Override
            public void readyCallBack(boolean b, String s) {
                Log.e("SWTTEST","初始化回调:"+b+"   原因:"+s);
            }
        });

则新版本更新后可改为:

    YouzanSDK.init(getApplicationContext(), InitConfig.builder()
                .clientId("0073bccbaf5369028a")
                .appkey("")
                .adapter(new YouZanSDKX5Adapter())
                .initCallBack(new InitCallBack() {
                    @Override
                    public void readyCallBack(boolean b, String s) {
                        Log.e("SWTTEST","初始化回调:"+b+"   原因:"+s);
                    }
                })
                .advanceHideX5Loading(false)
                .build());

版本7.5.1

YouzanSDK init方法增加initCallback回调,用于接入侧感知初始化是否成功

版本7.4.0

支持账号注销成功失败回调

版本7.3.0

升级x5webview,优化因x5webview导致的隐私合规问题

版本7.2.5

支持微信支付时回调AbsWxPayEvent事件

版本7.2.0

对有赞sdk初始化增加保护,以及修复极小部分机型中sdk初始化崩溃问题。

版本7.1.32

修复低概率偶现webViewCompat lateinit未初始化问题

版本7.1.31

开店sdk升级,修复viewpager嵌套时x5webview时部分机型上WebView接收不到滑动事件的问题

版本7.1.30

开店sdk升级,基于26版本修复Glide加载的crash问题

版本7.1.29

修复新版本sdkreceiveFile处理方法传空异常问题

版本7.1.28

新增支付跳转业务方结算页能力,新增AbsGoCashierEvent事件。样例代码:

client.subscribe(new AbsGoCashierEvent() {
            @Override
            public void call(@Nullable GoCashierModel model) {
                Log.i(YouzanActivity.TAG, "AbsGoCashierEvent called with: model = [" + model + "]");
            }
        });

版本7.1.27

修复viewpager嵌套时x5webview上滑动冲突onOverScrolled方法不生效的问题

版本7.1.26

针对显示区域做优化,可通过新增API避免loading覆盖业务方页面(比如toolbar) , 调用方式 view.setOnlyWebRegionLoadingShow(true);

版本7.1.25

修复用户登录时极端情况bug

版本7.1.24

提升合规完整性,合规协议签署新增功能,支持在用户点击不同意隐私合规时由业务方定制跳转。

使用方式:

client.subscribe(new PrivacyDisagreeProtocolEvent(client) {
        @Override
        public boolean call(Context context) {
                // 业务方自定义跳转,若不跳转时需return false
                startActivity(new Intent(xxx,xxx));
                return true;
         }
 });

版本7.1.23

2021-10-27

  • 新增自定义loadingview api , 调用方式 youzanBrowser.setLoadingView(View)

版本7.1.22

2021-10-20

  • 修复7.1.21版本H5视频播放问题

版本7.1.21

2021-10-08

  • 提前结束loading态到H5Dom加载结束,加快用户页面可见

版本7.1.17

2021-07-08

  • 更新手机号授权方式

版本7.1.16

2021-03-24

  • 增加AbsAuthorizationErrorEvent,AbsAuthorizationSuccessEvent两个事件处理一键授权回调

版本7.1.15

2021-03-24

  • 处理有赞资源文件,防止重名被覆盖

版本7.1.14

2021-03-23

  • 修复loadingView,不兼容报错情况

版本7.1.13

2021-03-02

  • 过滤不需要未绑定手机服务逻辑,防止一直登录loading
  • 如果需要使用一键绑定逻辑则按照文档接入

版本7.1.11

2021-01-18

  • 提供登陆未绑定手机,提供一键绑定逻辑

版本7.1.0

2020-12-24

  • 提供公共登陆方法

版本7.0.11

2020-01-21

  • 补充H5图片长按保存,增加拦截回调(仅该版本有)

版本7.0.6

2020-12-07

  • 增加大客域名下cookie全局同步
  • 支持在弱网情况下自定义回调处理

版本7.0.1

2020-10-13

  • 控制台打印错误日志 需要改的醒目些,从info 改为error

版本7.0.0

2020-7-25

  • 增加appKey校验功能
  • 增加默认loading功能,并且能进行可配置

版本6.4.35

2019-9-25

  • 升级埋点库导致的内存泄漏问题