Загрузка AssetBundles

Сеть в Unity3D

Загрузка AssetBundles

Сообщение levka4 16 сен 2019, 20:13

Для загрузки дополнений в игре использую assetbundles, которые лежат на хостинге. У меня на всех моих устройствах все работает отлично, но вот некоторые пользователи не могут загрузить совсем ничего. Причем я попросил одного из них скачать файлик дополнения по прямой ссылке в браузере и у него все скачалось, но в приложении постоянно выскакивает ошибка. Может кто знает с чем это может быть связано?

Вот код метода загрузки:
Синтаксис:
Используется csharp
   
private IEnumerator LoadBundleFromServer(int addonId, Action<AssetBundle, int, Hash128> response, Action<float> progress)
    {

        while (!Caching.ready)
        {
            yield return null;
        }

        //Check available space

        int spaceAvailable = DiskUtils.CheckAvailableSpace();
        if (spaceAvailable < MaxSpaceForDownloading) {
            LoadingError(2);
            Debug.LogErrorFormat("Not enough space");
            yield break;
        }

        //Check version

        var request = UnityWebRequest.Get(GetUrlOfBundle(addonId, 1));
        yield return request.SendWebRequest();
        Hash128 version = new Hash128();

        if (!request.isHttpError && !request.isNetworkError)
        {
            version = Hash128.Parse(request.downloadHandler.text.ToString().Trim());
        }
        request.Dispose();

        if (!version.isValid) {
            LoadingError(1);
            Debug.LogErrorFormat("error request version");
            yield break;
        }
        Debug.Log("Version to download - " + version);


        //Start downloading
        UnloadCurrentAssetBundle();
        if (!Caching.ClearAllCachedVersions(GetUrlOfBundle(addonId, 2))) {

            LoadingError(1);
            yield break;
        }

        string url = GetUrlOfBundle(addonId, 0);

        request = UnityWebRequestAssetBundle.GetAssetBundle(url, version);

        request.SendWebRequest();
        while (!request.isDone)
        {
            progress(request.downloadProgress);

            yield return null;
        }
        progress(1f);
        if (!request.isHttpError && !request.isNetworkError)
        {
            UnloadCurrentAssetBundle();
            response(DownloadHandlerAssetBundle.GetContent(request), addonId, version);
        }
        else
        {
            LoadingError(1);
            Debug.LogErrorFormat("error request [{0}, {1}]", url, request.error);
            yield break;
        }

        request.Dispose();
    }
 
levka4
UNец
 
Сообщения: 7
Зарегистрирован: 11 ноя 2018, 11:27

Re: Загрузка AssetBundles

Сообщение seaman 16 сен 2019, 21:26

Ссылки https?
Просто новые устройства только по таким ссылкам работают.
seaman
Адепт
 
Сообщения: 7926
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Загрузка AssetBundles

Сообщение levka4 17 сен 2019, 07:44

Нет, http. Спасибо за ответ, попробую с https
levka4
UNец
 
Сообщения: 7
Зарегистрирован: 11 ноя 2018, 11:27

Re: Загрузка AssetBundles

Сообщение levka4 17 сен 2019, 19:05

Да, дело было действительно в https и на версиях андроид 9 и выше с http не работало, а с https все ок. Спасибо!
levka4
UNец
 
Сообщения: 7
Зарегистрирован: 11 ноя 2018, 11:27

Re: Загрузка AssetBundles

Сообщение Woolf 18 сен 2019, 14:35

levka4 писал(а):Да, дело было действительно в https и на версиях андроид 9 и выше с http не работало, а с https все ок. Спасибо!

там еще и сертификат нужен
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Аватара пользователя
Woolf
Адепт
 
Сообщения: 6908
Зарегистрирован: 02 мар 2009, 16:59


Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4