Unity热更新系列之三: 资源下载更新

资源更新其实可以细分为两种,一种就是小版本迭代之间差异包的资源更新;另外一种比较特殊是分包下载更新,分包是国内安卓市场为了节约推广成本,更有效的推广而形成的一种策略,通常把Apk做成150M以内的小包拿去推广,然后游戏运行时再去下载剩余的资源,即 整包 = 小包 + 分包;这种策略有点类似Google Play使用的Obb方式,Google Play因为限制了上传包体的大小100M,所以需要把应用剩余资源文件打包成Obb,Apk运行时候从Obb扩展文件中去加载资源,Unity本身也支持Apk+Obb模式,做海外安卓市场都是用这种方式上Google Play。而我们做的分包资源是放在我们自己的资源服务器,为了提高用户的体验,需要游戏运行时另开一个线程在后台去静默下载我们的分包资源。

资源下载更新每个项目做法基本都大同小异,设计过程主要考虑下面几个问题:

  1. 支持大版本更新(最简单做法是提示玩家点击跳转链接下载安装最新的安装包)
  2. 支持资源下载断点续传
  3. 小版本迭代之间差异包的资源一般都是启动游戏明面更新;而分包资源下载是设计成可配置的,支持前后台下载,因为有些分包资源在进游戏时必须要先下载完,而后台静默下载都是启动线程池去下载,由于Unity本身就一个主线程,不能在其他线程调用Unity控件组件会报错
  4. 分包启动线程池后台去下载会有个问题就是会占用大部分网络资源,造成主线程与服务器通信卡顿,所以要对下载线程限制网络资源,可以通过Thread.Sleep(time)来暂时挂起线程
  5. 注意分包资源的优先级是比小版本迭代之间差异包的资源优先级低
  6. 配合后台服务做好白名单功能用于对外更新测试,根据用户 IP 和 IMEI 来做白名单

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值