3.x.x 升级4.x.x 版本 升级指南

1.概述

为了提高用户体验,以及减少集成我们SDK的复杂度。从4.0.0版本开始,我们对SDK的业务逻辑,使用方式等作出了较大幅度的优化。若用户从3.x.x升级到4.0.0版本时,会出现一些使用方式上的差异,下面会具体介绍如何升级到新版。(4.0.0版本SDK统称新版,3.x.x版本SDK统称旧版)

2.SDK改动

2.1 数据获取及格式

为了简化用户对数据的获取方式,我们统一了SDK对于媒体数据的获取方式。

2.1.1 数据获取方式的变动

旧版中,对于视频播放时数据,是通过DWPlayerView对象的getPlayUrlsBlock回调来获取的播放数据。而视频下载时的数据,是通过DWPlayInfo对象来获取的。

新版中,我们对于视频获取的方式,统一通过DWPlayInfo对象来获取。

2.1.2 数据格式的变动

旧版中,获取到的数据都是NSDictionary对象,不能直观的看出都有哪些字段,以及字段的用途。

新版中,我们对数据格式进行了可视化,与媒体播放相关的数据全部都在DWVodVideoModel中,若想查看某一字段的具体用途,直接进入DWVodVideoModel.h中查看即可。

2.2 播放

新版中,我们优化了播放模块的结构,将原音频播放类(DWAudioPlayer)与视频播放的播放类(DWPlayerView)统一合并成了DWPlayerView。 为了适应数据格式的变化,修改了DWPlayerView中的部分方法及使用方式。

新版中,我们还提供了一套带皮肤的播放器(DWPlayerSkinView),以供用户快速的集成我们的播放功能。对于需要自定义UI的用户,依旧使用DWPlayerView即可。

2.3 下载

鉴于旧版的下载功能的使用方式比较复杂,对了方便用户集成我们的下载功能,我们对下载模块进行了重构。

新版中,DWDownloadSessionManager是下载管理类,所有对下载任务进行的操作都要通过此单例对象进行管理。为了减少集成复杂度,它维护了一个下载队列,内部包含了我们所有的下载任务(DWDownloadModel),用户不需要再对下载任务进行管理,本地化等操作,只需要获取我们的下载队列,进行数据展示即可。

注意: 若项目从旧版升级到新版以后,因下载模块业务逻辑的变化,会出现旧版的下载任务无法再新版中获取的问题。为了解决这个问题,在新版中,我们提供了一个方法,可以将旧版的下载任务过渡到新版本中。对于这个方法的具体含义以及使用事项,我们在4.开发指南中已经进行了详细的说明。

以下是具体的实现方式:

2.4 加密模块(DWDrmServer)

新版中,我们对加密模块进行了封装,用户无需再关注此服务的使用,只要在后台启用了我们的加密服务,SDK会启动此模块,来播放加密的视频连接。

2.5 关于错误码(DWErrorCode)

为了帮助用户更好的排查出现的错误,我们在新版中,优化了错误码的使用以及含义。相比于旧版的使用方式,新版中的错误码更简洁、直观。具体代表的含义请详见4.开发指南。

3.Demo改动

新版中,我们对demo进行了重构,从目录结构,业务逻辑到最终的展示页面相比于旧版,都进行了较大幅度的改版。具体效果可下载我们的demo来查看。

3.1 目录结构的变动

鉴于旧版demo的目录结构比较杂乱,在新版中,我们重新对demo的目录结构按功能进行了划分。具体的结构在2.集成指南中,已经进行了详细的说明。

3.2 视频列表使用的变动

相比于旧版demo直接在代码中写入视频列表的方式,在新版中,提供了通过网络获取视频列表的方式。用户可以通过修改网络请求以及数据解析流程就可以替换视频列表,当然,对于旧版视频列表的使用方式,我们现在依旧是支持的。具体详细的使用方式请查看4.开发指南。

3.3 demoUI界面

由于旧版的demo页面不是很美观,我们的新版demo对界面进行了美化重构,具体实现的效果,请运行我们的新版demo查看。