unity3d下载Obb分包文件

时间:2023-03-10 00:23:27
unity3d下载Obb分包文件

下载OBB插件包

http://pan.baidu.com/s/1c0ouRZE

1、导入插件

注意事项:

如果项目中已经存在Android 插件,需要merge导入的xml文件例如 AndroidManifest.xml和strings.xml文件,否则编译或运行的时候可能会报错.

2、修改GooglePlayDownloader.cs 文件中的key改成你的key.

3、勾选 Player Settings ->Publishing Settings中的split Application Binary.

4、编译发布

以下是结合Ngui进度条代码示例:

using UnityEngine;
using System.Collections; public class DownLoadObb : MonoBehaviour { private string expPath;
private string logtxt;
private bool alreadyLogged = false; private bool downloadStarted = false;
private string uri;
// private string mainPath; public GameObject downloadButton; public UILabel progress; public UISlider progressBar; void Awake(){ }
void Start(){
if (!GooglePlayDownloader.RunningOnAndroid())
{ return;
} expPath = GooglePlayDownloader.GetExpansionFilePath();
if (expPath == null)
{ return ;
}
else
{
string mainPath = GooglePlayDownloader.GetMainOBBPath(expPath);
// string patchPath = GooglePlayDownloader.GetPatchOBBPath(expPath);
if (mainPath == null ){
downloadButton.SetActive(true); }
StartCoroutine(loadLevel());
}
} public void DownLoad(){
GooglePlayDownloader.FetchOBB();
} void Update (){
if(!www.isDone){
progress.text = "Loading data file... "+(www.progress*).ToString("f2")+"%";
progressBar.sliderValue = www.progress;
}
} WWW www;
IEnumerator loadLevel(){
string mainPath;
do{
yield return new WaitForSeconds(0.5f);
mainPath = GooglePlayDownloader.GetMainOBBPath(expPath);
}
while(mainPath == null); progress.gameObject.SetActive(true);
progressBar.gameObject.SetActive(true);
downloadButton.SetActive(false); if(downloadStarted == false){
downloadStarted = true; uri = "file://" + mainPath; www = WWW.LoadFromCacheOrDownload(uri,); yield return www; if(www.error == null){
Application.LoadLevel("Menu");
}
}
}
}