Top.Mail.Ru
Ответы

Помоги с Unity

А можно сделать так чтобы приложение с dropbox или googleDisk погружала.apk и по нажатию на кнопку предлагало скачать это погруженный файлик. И чтобы все это без сервера, онли облачное хранение. Просто хочу сделать лаунчер, там 2-3 игр . И там типо вместо того чтобы в itchе было 3 разные игры, был один лаунчер, в котором можно эти 3 игры скачать. Надеюсь понятно донес свой вопрос

По дате
По рейтингу
Аватар пользователя
Оракул

На итче можно сделать обычную HTML-страничку со ссылками на файлы в вашем хранилище? Или есть причины, по которым вам нужно сделать лаунчер именно через Юнити-проект?

Аватар пользователя
Ученик

А как?

Аватар пользователя
Ученик

URL в WebView:
-------------------------------------------

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class DownloadManager : MonoBehaviour
{
public string apkUrl = "файл";

public void StartDownload()
{
Application.OpenURL(apkUrl);
}
}

-------------------------------------------------------

для загрузки файла:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class DownloadManager : MonoBehaviour
{
public string apkUrl = "файл";
public string savePath = "/sdcard/Downloads/your-app-name.apk"; // Путь для сохранения APK-файла на устройстве

public IEnumerator DownloadAPK()
{
using (UnityWebRequest request = UnityWebRequest.Get(apkUrl))
{
yield return request.SendWebRequest();

if (request.result != UnityWebRequest.Result.Success)
{
Debug.LogError(request.error);
}
else
{
System.IO.File.WriteAllBytes(savePath, request.downloadHandler.data);
Debug.Log("File downloaded successfully!");
}
}
}

public void StartDownload()
{
StartCoroutine(DownloadAPK());
}
}

----------------------------------------------------------------

Установка загруженного APK-файла

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Android;

public class InstallManager : MonoBehaviour
{
public string savePath = "/sdcard/Downloads/your-app-name.apk"; // Путь к загруженному APK-файлу

public void InstallAPK()
{
#if UNITY_ANDROID && !UNITY_EDITOR
if (!Permission.HasUserAuthorizedPermission(Permission.ExternalStorageWrite))
{
Permission.RequestUserPermission(Permission.ExternalStorageWrite);
}

AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject intent = new AndroidJavaObject("android.content.Intent", "android.intent.action.VIEW");
AndroidJavaObject uri = new AndroidJavaObject("android.net.Uri").CallStatic<AndroidJavaObject>("fromFile", new AndroidJavaObject("java.io.File", savePath));
intent.Call<AndroidJavaObject>("setDataAndType", uri, "application/vnd.android.package-archive");
intent.Call<AndroidJavaObject>("addFlags", 268435456); // FLAG_GRANT_READ_URI_PERMISSION
currentActivity.Call("startActivity", intent);
#endif
}
}

Аватар пользователя
Ученик

Просто нужно понимать, что тебе нужно сделать

Аватар пользователя
Ученик

Ну приложуха три кнопки. На первую жмякаешь приложуха с dropboxа .apk подгружает а когда подгрузила предлагает скачать. Ну как рустор

Аватар пользователя
Ученик

Ну вторая и третья аналогично

Аватар пользователя
Ученик

Я изменил текст

Аватар пользователя
Ученик

надеюсь поймешь, что нужно делать

Аватар пользователя
Ученик

Ема спс огромное

Аватар пользователя
Ученик

Слушай а что за путь установки АПК, там типо только имя пакета менять

Аватар пользователя
Ученик

Все понял не надо

Аватар пользователя
Ученик

мне лично тебе помочь? домой прийти?

Аватар пользователя
Ученик

Дя



Видео по теме