Skip to content

Configurations Explains

Haoge edited this page Mar 23, 2018 · 4 revisions

原理概述

UpdatePlugin主要基于对整个更新流程的梳理,针对更新流程中可能的被用户需要定制的节点。提供对应的定制接口出来提供用户进行各种定制;

为了方便用户直接使用,对于更新流程中非用户必须定制的接口。框架也对各个节点实现了一套自身默认的定制接口。做到拿来即用的。

更新配置的两种方式

UpdatePlugin的配置有两种配置方式。即分别通过UpdateConfig或者UpdateBuilder进行配置。

所有的可配置项均可在UpdateConfig或UpdateBuilder中进行配置:

  1. UpdateConfig用于批量的对某一系列的更新提供基础配置。当使用UpdateConfig.getConfig()进行基础配置时。代表使用此时使用默认的配置。对于可能有多种地方需要使用的更新功能时。可通过UpdateConfig.createConfig()针对每个特殊的更新方式配置不同的基础配置:如普通app更新、网络下载插件更新、热修复更新等。

  2. UpdateBuilder为真正发起更新请求的入口类。当使用UpdateBuilder.create()传递空参数时。表示使用的基础配置为UpdateConfig.getConfig()。即使用默认配置。而若需要使用特殊的基础配置时。则需要将UpdateConfig.createConfig()创建的新的基础配置类实例。通过create()方法传入进行使用。

定制最适合你的UpdatePlugin

上面提到了,本框架是基于对整个更新流程的梳理。同时也提供了大部分节点的默认定制实现。这里就对整个流程中可定制的节点进行统一说明。

鉴于框架的此种结构特性,所以框架所提供的大量特性,其实主要都是通过各种默认定制实现所提供的。所以请注意下方各定制节点的默认实现特性说明。若有部分特性不需要的。可考虑自身进行定制来实现。

  • 网络任务
  • 回调通知
  • 界面通知
  • 执行策略
    • 更新策略

      • 作用:通过定制此策略,控制以上三处界面通知的展示逻辑。
      • 默认实现特性:
        • Wifi环境下,展示有新版本需要下载的更新与文件下载进度提醒通知
        • 非Wifi换件下,只展示文件下载完成后启动安装任务前的通知提醒
    • 安装策略

      • 作用:安装策略,可通过定制此策略。满足各种环境下的安装需求。如热修复更新。插件化远程更新等。
      • 默认实现特性:
        • 适配Android 7.0安装方案
        • 对强制更新逻辑进行适配:若为强制更新。启动安装任务后强制退出当前应用
    • 后台任务重启策略

      • 作用:后台重启任务定制接口。此接口决定在什么条件下触发重启机制。
  • 数据支持
    • 更新接口api
      • 作用:指定用于进行版本检查的api接口
    • 更新接口数据解析器
      • 作用:对更新api接口返回数据进行解析。解析出对应实例提供给框架内部进行判断使用
    • 更新数据检查器
      • 作用:通过对更新接口数据解析器所解析回来的数据进行检查,判断是否需要进行更新。
      • 默认实现特性:
        • 适配强制更新与忽略版本更新的检查逻辑。
    • 文件创建器
      • 作用:创建一个本地文件地址。用于文件下载使用
    • 文件检查器
      • 作用:对文件进行有效性验证。此检查器有两重作用:
        1. 在启动文件下载任务前。若验证成功则可跳过文件下载任务。避免重复下载。
        2. 在文件下载完成启动安装前。若验证成功即可调起安装任务。
      • 默认实现特性:
        • 支持MD5文件验证与apk包解析验证,二选一。
        • 当下载后的文件不符合有效性验证要求时(如被DNS劫持等),自动删除下载源文件。