如何获得最新版本的统一信息

时间:2019-08-29 09:16:56

标签: c# unity3d

我一直在尝试创建一个查找最新版本的unity的脚本,但现在已经失败了一段时间。
是否有某种API或其他某种可以给我最新版本和统一性的发布日期?

我一直在尝试通过使用c#脚本从HTML https://unity3d.com/de/get-unity/update中获取信息,但是我认为这会在将来引起问题。

2 个答案:

答案 0 :(得分:0)

我很快尝试使用Unity3D编辑器的“检查更新”功能进行一些测试。

我发现您可以通过这种方式知道最新版本:

  

获取   https://updatecheck.unity3d.com/cgi-bin/updatecheck.cgi

参数:

  
      
  • 版本:我的Unity3D编辑器发送“ 0”
  •   
  • versionString:我的Unity3D编辑器发送2018.3.7f1(9e14d22a41bb)[字符串格式的URL编码]
  •   

标题:

  

X-UNITY-FLAGS:40xxxxxxxxxxxxxxxxxxxxxxxxxxxxx28
    X-UNITY-CHECK:1
    X-UNITY-AUTH:db4fc87f2e73bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx8a2b
    X-UNITY-HASH:1d0a9xxxxxxxxxxxxxxxxxxxxxx2aa
    X-UNITY-USER-ID:2xxxxx0

完整请求网址(示例):

https://updatecheck.unity3d.com/cgi-bin/updatecheck.cgi?version=0&versionString=2018.3.7f1%20%289e14d22a41bb%29

回复:

{
    "latestversionstring":"2019.2.0f1 (20c1667945cf)",
    "latestversion":99999,
    "latestversionmessage":"A new version of Unity is available. Please update to the latest released version at your convenience. Release notes available on the download site. Click the \"Download Installer\" button.",
    "updateurl":"http://unity3d.com/update/",
    "updateinterval":3600
}

如您所见,响应是一个Json响应,其中包含最新版本以及Unity编辑器使用的其他信息(不幸的是,没有最新版本的发布日期)。

另一个问题是,我们不知道' Unity Header参数'(X-UNITY- *)是否基于当前用户会话(也许这些参数在'x'时间后过期?)

  

警告:我混淆了标头值,因为这些参数是基于我的用户会话的。


我如何找到标头参数?

  • 下载提琴手(Web调试器)以嗅探HTTP / HTTPS请求。
  • 打开Unity3D并打开Fiddler
  • 在Unity3D内部,单击帮助->检查更新
  • 在Fiddler内部,您可以看到请求出现

fiddler request

  • 单击该请求。

fiddler request details

  

提示:您必须安装根证书才能查看https请求,有关详细信息,请谷歌查看

您可以尝试做进一步的测试,以查看参数是否更改,以及此请求是否接受其他参数以在响应中获取更多信息。

不幸的是,这是我想到的唯一可用最新版本Unity的想法。

答案 1 :(得分:0)

您还可以在此处查看已发布版本的列表: http://symbolserver.unity3d.com/000Admin/history.txt

用于检查和下载更新的编辑器脚本: https://github.com/UnityCommunity/UnityLibrary/blob/master/Assets/Scripts/Editor/HelpLastRelease.cs