Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".
Дата публикации: 10.10.2018
Дата обновления: 17.12.2021
Подгрузка файлов в Unity играет ключевую роль, так как надо делать приложение которое весит 20МБ-40МБ, не более. Далее уже в фоновом режиме приложение должно начинать подгрузку нужных вам файлов и компонентов.
Включаем работу приложения в фоне, в главном событии Start() нашей сцены.
void Start () {
Application.runInBackground = true;
}
Далее делаем уже подгрузку в нужной вам функции.
IEnumerator GetFile()
{
// ссылка откуда качаем
var wwwRequest = new UnityWebRequest("http://");
wwwRequest.method = UnityWebRequest.kHttpVerbGET;
// тут куда качаем наш файл в системе, обязательно использовать Application.persistentDataPath
var dh = new DownloadHandlerFile(Application.persistentDataPath + "/audio.mp3");
dh.removeFileOnAbort = true;
wwwRequest.downloadHandler = dh;
if(wwwRequest.isDone != true)
{
Debug.Log(wwwRequest.downloadProgress);
Debug.Log(wwwRequest.isDone);
}
yield return wwwRequest.SendWebRequest();
if (wwwRequest.isNetworkError || wwwRequest.isHttpError)
{
Debug.Log(wwwRequest.error);
}
else
{
Debug.Log("success");
}
yield return wwwRequest;
}
Вот и всё, теперь используем наш IEnumerator в функции.
public void publicToGetFile()
{
StartCoroutine(this.GetFile());
}
И уже эту функцию вставляем в наш компонент допустим MainCamera, далее добавляем в Button (onClick) наш компонент MainCamera, выбираем функцию publicToGetFile.
По нажатию кнопки у нас происходит скачивание файла, причём не используйте WWW компонент, используйте UnityWebRequest который пришёл на замену, и имеет обход переполнения памяти на Android устройствах.
Кстати говоря, Вы можете сделать заказ у разработчика которого вы сейчас читаете, по любым вопросам с администрированием серверов, а также сайтами. Я помогу в любой задаче, оплата почасовая. Можете обратиться в Telegram для быстрой обратной связи, либо на почту которая на странице "Обо мне".