Some issues with using WebGL on mobile devices

Environment: Unity 2021.3.8f1, WebGL
The game runs on Android and iOS through WebView using WebGL.
The process for updating Addressables is as follows:
Build a new version of the .bundle files directly
(Build -> New Build -> Default Build Script).
At the beginning of the game, LoadAssetAsync() is used to download all required bundle files. It always downloads the latest version.

Below are some questions regarding the use of Addressables in WebGL:

  • Where are the files stored when Addressable downloads them?

  • Is it necessary to regularly clear the cache files of the asset bundles? Currently, Addressables.ClearDependencyCacheAsync() is used, but I'm not sure if it's effective.

  • When uploading a new version of the bundle files, why do we encounter the issue "CRC Mismatch. Provided 16302c0b, calculated 17167beb from data. Will not load AssetBundle"? Currently, ClearResourceLocators() is used to resolve this, but I don't understand why this issue occurs.

  • After modifying the content of the existing bundle and uploading a new version, sometimes we encounter the issue 'UnityEngine.AddressableAssets.InvalidKeyException' was thrown. What could be the reason for this? Currently, we reconstruct a new version with AddressableAssets, and after several attempts, the error no longer occurs. Is this considered an intermittent error?

  • Is there a method to retry downloading when AddressableAssets fails to download?

        public static void ClearAB_Cache()
        {
            Addressables.ClearResourceLocators();
            //Addressables.ClearDependencyCacheAsync("TextMeshPro");
            Addressables.ClearDependencyCacheAsync("PolarBear");
            Addressables.ClearDependencyCacheAsync("PolarJump");
        }