版本自动更新(进阶)

    技术2022-05-20  41

      制作游戏时时常需要更新前台版本,但是这就需要清空缓存重新进入系统,但是这样繁琐的操作会使用户大量流失(失去耐心),那么就急需一种全自动的更新方式来进行前台更新。  所有的基础来自于动态页面(jsp、php、asp等)。这种界面不会在客户端产生缓存,所以我们可以利用这点来做文章了!

    1.把flex生成的html代码全拷入jsp,记得保留jsp的头标签。

    2.修改版本号(红色字体):} else if (hasRequestedVersion) { // if we've detected an acceptable version // embed the Flash Content SWF when all tests are passed AC_FL_RunContent(   "src", "War?ver=10.0",   "width", "1000",   "height", "600",   "align", "middle",   "id", "War",   "quality", "high",   "bgcolor", "#000000",   "name", "War",   "allowScriptAccess","sameDomain",   "type", "application/x-shockwave-flash",   "pluginspage", "http://www.adobe.com/go/getflashplayer" );这样客户端会再从服务器读取最新的War.swf了(War.swf是入口文件),然后修改代码中引用其他模块的地址,也加上版本号:  public static const CREATE_PLAYER:String="CreatePlayer.swf?ver=10.0";  public static const GUIDE:String="GuideWindow.swf?ver=10.0";  public static const BODY:String="Body.swf?ver=10.0";这样处理以后客户端会重新加载这些module了,按照需要修改了这些链接以后,将更新的代码文件编译放到服务器上就可以了。

    3.当用户使用main.jsp登陆后,由于版本号的存在,客户端会认为这个swf是和缓存中存在的swf不一样的文件,所以会从服务器重新下载主应用文件。主应用文件再通过相同原理再重新加载其他模块达到,全部自动更新的目的、


    最新回复(0)