我们正在将我们的游戏从我们自己的 Canvas 页面切换到在 Facebook 上使用 Unity 集成。然而,在我们的开发测试期间,我们偶尔会遇到一个问题,即网络播放器二进制文件从浏览器缓存中加载,即使更新的版本已上传到服务器。
手动清除浏览器缓存可以解决问题,但这并不是我们一直想要呈现给用户的解决方案。以前,当我们自己嵌入 unity 对象时,我们还通过 url 传递了一个 ?version 标志,这将使它保持最新,但我们不能在打开集成时再这样做,除非我们手动更新二进制文件每次构建时我们的应用程序设置中的位置链接(有点痛苦,因为我们构建过程的其余部分是自动化的)
有什么办法解决这个问题吗? 谢谢。
最佳答案
我们有完全相同的问题,我可以说唯一的解决方案是在每次构建时更改二进制文件名,但仅限于您的生产环境。这是我们的解决方案:
我们有开发(沙盒模式)和生产环境,每个都有一个应用程序。
为了开发,我们在本地运行一切,我们有构建二进制文件并将其复制到适当位置的构建管道,其名称始终与 MyGame.unity3d 相同,并且我们已将浏览器设置为不缓存任何内容,这样就解决了测试问题。
对于生产,我们的构建管道使用以下内容构建二进制名称: YourGameNameMainVersion.SubVersion.TimeStamp 就像:MyGame0.3.1006-1004.unity3d 并且这个是在每个构建中从 facebook 的应用程序设置页面手动设置的。但这不是什么大问题,因为您不希望每天为生产创建超过一次/两次的新构建。
关于facebook - 使用 Facebook Unity 集成从缓存中加载旧版本的 Unity WebPlayer 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23528778/