美文网首页
Unity BackgroundDownload 后台下载

Unity BackgroundDownload 后台下载

作者: 我现时自己可浪漫 | 来源:发表于2022-03-09 11:20 被阅读0次

说明:这个插件主要用于移动平台热更资源后台下载的支持。本人只在安卓和IOS上使用过,Unity2019.4亲测可行。

插件地址:https://github.com/Unity-Technologies/BackgroundDownload

支持平台: Android, iOS and 通用的windows 平台. 插件在UnityEditor 下无法工作的。

安装:1.Unity 2019.4 及以上的版本,官方推荐使用from GIT 或者加载本地插件包的方式。推荐这些方式应该是可以自动合并AndroidManifest 的原因。

2.Unity2019.4以下的版本可以通过把插件中Runtime 目录下的文件拷贝到Asset 目录下,然后自己合并一下AndroidManifest(如果项目里面只有这一个插件,可以不合并,但基本不太可能)。

3.其实2019.4的版本也可以自己拷贝,然后自己合并AndroidManifest,也可以正常使用。

安卓平台

安装好插件后,进入使用阶段。如果你是通过拷贝的方式安装的插件,需要自己合并一下AndroidManifest。

1.根据下图找到插件的AndroidManifest.xml 文件打开。

2.把下图红框部分拷贝的项目的AndroidManifest.xml 文件。记得合并AndroidManifest.xml 文件,不然在真机上下载会报错:"Invalid value for visibility 2 in Android" 。

3.ProjectSetting --> Player --> OtherSettings 中的WritePermission 设置为External(SDCard),当然你也可以在打包脚本上动态修改这个设置。

4.到了这里已经设置完成了,是不是特别简单,之后我们就可以打包测试了。

IOS平台

不用设置,ios 平台一如既往的顺畅

插件使用

基本和官方的使用说明没什么区别。直接使用Start函数,传入下载的url(http/https) 和下载下来保存到本地的路径,即可开启下载。也可以使用自己创建下载配置进行下载,下载的资源会存放到 Application.persistentDataPath的目录下。

BackgroundDownload.Start(new Uri(DownloadUrl), DownloadPath))

这里需要注意的是下载路径不需要拼接 Application.persistentDataPath,因为插件内部拼接一次,所以我们只需要传自己的存放目录就行。如果外部也拼接了Application.persistentDataPath。ios 下载会有问题,android 是正常的。

例如:本地的资源的存放路径是“Application.persistentDataPath/game/img/xxx.png” ,参数的下载路径则是“game/img/xxx.png”。

实现原理

1.安卓是的实现原理是使用了android 的DownloadManager ,DownloadManager 会在系统后台开启下载任务。

2.iOS则是使用NSURLSession 实现的,这是ios7 的新特性。

具体API大家可以网上查阅,这里就不展开说了。简单来说这个插件使用简单且实用,大家可以愉快的用起来。

相关文章

网友评论

      本文标题:Unity BackgroundDownload 后台下载

      本文链接:https://www.haomeiwen.com/subject/cgrtdrtx.html