自定义输入法更新服务

此功能,可以使您的输入法程序拥有在线更新功能。

在使用此功能前,请确定您拥有一个有效的网络主机(PHP、ASP、JSP或静态主机均可)用于响应更新请求和提供新版程序下载服务。

  1. 更新程序请求访问更新链接(该链接为脚步设置向导第一步中定义的“-更新链接”项)。

  2. 服务器(更新链接指向的)返回更新信息数据

  3. 客户端依据更新信息数据提示用户执行更新操作。用户可以选择自动下载新版软件或复制下载地址手动下载软件。

    注意 注意
    多多v3.1更新程序仅能提示用户下载新版软件,不能实现自动更新。

  1. 更新链接定义说明:

    多多的软件更新链接可使用如下四个客户端参数,客户端在请求时自动替换参数为实际字符串:

    • {version}: 替换为客户端版本号
    • {guid}: 替换为输入法GUID
    • {regcode}: 替换为注册码,如程序未注册,注册码为0
    • {macaddr}: 替换为网卡物理地址的N次MD5值

    客户端参数为可选内容,应与您的软件已经网络主机配合使用。以下以PHP主机为例,说明如何使用更新链接的客户端参数:

    更新链接:http://vnnv.org/supports/wubi/update.php?v={version}&g={guid}&r={regcode}&m={macaddr}

    实际请求URL:http://vnnv.org/supports/wubi/update.php?v=1.2&g=7c02db7c617c4f2dbdc2a4e435c59316&r=0&m=8c8ca55d45f3f1f7e2c4632b5762546b//

  2. 更新信息数据格式说明:

    服务端的返回结果应是一个UTF-8编码格式XML数据集。包含如下定义内容:

    • <version>,定义服务器上的软件版本;
    • <url>,定义与版本号对应的软件下载地址;
    • <log>定义与版本号对应的软件更新内容。在这里,可使用 [r] 定义换行符

    定义示例:

    <?xml version="1.0" encoding="UTF-8" ?>

    <UpdateInfo>

    <version>3.1.0.1000</version>

    <url>http://vnnv.org/supports/wubi/v3.1.0.1000.zip</url>

    <log>1.更新内容1;[r]2.更新内容2[r];3.更新内容3.[r]</log>

    </UpdateInfo>

    注意 注意
    无论以何种方式(PHP、ASP、JSP或静态网)创建更新服务器,请注意返回客户端的更新信息数据必须是一个合法的XML数据集。

  3. 一个简单的静态更新服务器示例

    假设拥有域名"http://vnnv.org/"指向网络空间"/www/",更新支持目录为/www/supports/wubi/

    • 在脚步设置向导第一步中定义的“-更新链接”为“http://vnnv.org/supports/wubi/update.txt”;

    • 在/www/supports/wubi/中创建UTF-8编码格式的"update.txt"文件,并在其中定义如下内容:

      <?xml version="1.0" encoding="UTF-8" ?>

      <UpdateInfo>

      <version>3.1.0.1000</version>

      <url>http://vnnv.org/supports/wubi/v3.1.0.1000.zip</url>

      <log>1.更新内容1;[r]2.更新内容2[r];3.更新内容3.[r]</log>

      </UpdateInfo>

    • 创建v3.1.0.1000的安装程序压缩文件"v3.1.0.1000.zip",并上传至"/www/supports/wubi/"目录下。

  4. 一个完整PHP更新服务器示例

    假设拥有域名"http://vnnv.org/"指向网络空间"/www/",更新支持目录为/www/supports/wubi/

    • 在脚步设置向导第一步中定义的“-更新链接”为“http://vnnv.org/supports/wubi/update.php?v={version}&g={guid}&r={regcode}&m={macaddr}”;

    • 在/www/supports/wubi/中创建UTF-8编码格式的"update.php"文件,并在其中定义如下内容:

      <?php
      //获取参数
      $version = $_REQUEST['v'];
      $guid = $_REQUEST['g'];
      $regcode = $_REQUEST['r'];
      $macaddr = $_REQUEST['m'];

      //
      // 使用这四个参数,在服务器中做一些事
      //
      // do sth
      //

      //判断是否更新
      if($guid=="7c02db7c617c4f2dbdc2a4e435c59316")
      {
      $xmlHTML = '<?xml version="1.0" encoding="UTF-8" ?>
      <UpdateInfo>
      <version>3.1.0.1000</version>
      <url>http://vnnv.org/supports/wubi/v3.1.0.1000.zip</url>
      <log>1.更新内容1;[r]2.更新内容2[r];3.更新内容3.[r]</log>
      </UpdateInfo>';
      }
      else
      {
      $xmlHTML = '<?xml version="1.0" encoding="UTF-8" ?>
      <UpdateInfo>
      <version>0</version>
      <url>0</url>
      <log>1.提示信息 无效的GUID</log>
      </UpdateInfo>';
      }
      echo $xmlHTML;

    • 创建v3.1.0.1000的安装程序压缩文件"v3.1.0.1000.zip",并上传至"/www/supports/wubi/"目录下。