发布小工具

本文档介绍了用于发布小工具的各种选项。如果您使用 Google 小工具编辑器 (GGE) 来创建和托管小工具,则发布小工具会容易得多。

目录

  1. 我可以将小工具放在何处?
  2. 准备发布
    1. 测试高度和宽度
    2. 提高小工具性能
  3. 发布至 iGoogle 内容目录
    1. 管理提交的小工具

我可以将小工具放在何处?

您可以将小工具放在以下任意一处位置:

  • 放在支持小工具的 OpenSocial 容器(例如 Orkut 和 iGoogle 测试区)上。
  • 放在 Google 内容目录(仅传统小工具)中。将小工具提交至内容目录可使更多用户使用该小工具。

并不是每个小工具都适用于所有环境。请参阅有关您容器的文档,以获取有关该环境中所支持功能的详细信息。

准备发布

发布小工具之前,您应先对其进行测试,请记住将要在其中运行该小工具的目标环境的要求和限制。

您应对所有小工具进行以下测试:

  • 尝试 UserPref 值的所有组合。
  • 在不同大小(从 800x600 到可能使用的最大)的屏幕中运行小工具。链接至 Firefox 网络开发人员扩展,以便于将 Firefox 调整到特定大小。
  • 按照测试宽度和高度中的介绍,以不同大小测试小工具。
  • 在小工具可能运行的所有环境中测试小工具。
  • 在以下浏览器上测试小工具:IE 7、IE 6、Firefox 2.x、Firefox 1.5.x、Opera 9.x 和 Safari 2.x。
  • 尝试不同的字体大小:
    • 要在 Firefox 中更改字体大小,请选择“工具”>“选项”>“内容”。点击“字体和颜色”区域中的“高级”。更改字体设置并取消选中“允许页面选择显示字体而不许使用上面的设置”。
    • 要在 Internet Explorer 中更改字体大小,请选择“工具”>“Internet 选项”>“常规”。使用字体辅助功能对话框来更改字体设置。

如果使用的是 makeRequest(),则测试在数据源中断或返回错误时发生的问题。您可以通过将网址临时更改为其他网址来模拟该情形。

测试宽度和高度

如何调整小工具的大小很大程度上取决于它所运行的环境。请参阅有关容器的文档以获取详细信息。

在设计和测试小工具时,请准备好使用 200 像素到 600 像素(最大)之间的任意宽度。对于某些小工具,宽度甚至还要更大。一般而言,如果给定了额外的空间,则对小工具进行设计以便正确显示。例如,地图小工具应充满其区域,图片小工具应使其集中在框架中间,而文本小工具应将其文本浮动在顶部(例如,通常位于底部的“点击以获取详细信息”链接应该紧靠着内容而不应浮动到小工具窗口的底部)。

提高小工具性能

如果您编写了一个自己觉得会有高访问量的小工具,则可以采取些措施来确保其可用性和良好的性能。如果您的小工具每天被查看 200,000 多次,或每秒约有 1 至 2 个请求,则您应考虑本部分中的以下提示。即使是一个每天接收 200,000 个请求的 50 KB 的小工具,每月也要消耗约 300 GB 的带宽。

一个小工具吸引众多用户的原因可能有多种。可能仅因为在内容目录中较常见。或者,如果该小工具用于特定的促销或广告中,也可能会产生高访问量。

您为高访问量小工具设定的目标应在 0.25 秒(250 毫秒)或更短的时间内响应一次。可使用 Firebug(仅用于 Firefox)来对此进行测量。提高小工具的响应速度必然会对用户的体验产生积极影响。有关优化小工具性能的提示,请参阅针对高访问量的优化处理。有关管理提示,请参阅管理高访问量。常规的测试准则对于极常用的小工具也尤为重要。

针对高访问量的优化处理

如果您认为您的小工具可能会产生高访问量,请遵循以下准则:

  • 避免使用外部 JavaScript 或 CSS 文件(用 HTML 标签的“src”或“href”属性表示的文件),因为这会引发其他网络连接。应将 JavaScript 和 CSS 代码内联入小工具规范中。
  • 使用 type=html 小工具。type=url 小工具的响应通常比 type=html 小工具要慢,因为其他托管服务器的性能较低且缓存支持不足。
  • 默认情况下, makeRequest() 方法将内容缓存约 1 至 2 小时。您可以使用这些函数的 refreshInterval 参数来更频繁地刷新缓存。然而,缓存通过最小化发送至远程服务器托管内容的请求数目来帮助提高小工具性能。请勿请求高于所需的缓存刷新频率,否则将会减少缓存可支持的请求百分比。请参阅刷新缓存以获取该主题的更多论述内容。
  • 使用 Firebug(仅用于 Firefox)来调整小工具的性能。对于其他浏览器,您可以使用 Fiddler
  • 如果可能,请避免使用 Google Analytics(分析),因为它会引发其他服务器连接。请使用 http://www.google.com/ig/directory?url=<gadget-url> 而不是 Google Analytics(分析)来查看小工具的每周综合浏览量。
  • 为小工具的 HTML 中的所有 <img> 标签指定高度和宽度。这可使您的小工具更快速地进行响应。如果您使用的是 gadgets.io.getProxyUrl() 并直接在 DOM 中插入图片元素,则不必设置宽度和高度属性。
  • 请使用 gadgets.io.getProxyUrl() 函数缓存所有嵌入的图片,使用 embedCachedFlash() 缓存 Flash 内容,而无需直接链接至托管服务提供者。下面是使用 gadgets.io.getProxyUrl() 预加载图片的小工具的示例:

以下是一个介绍如何使用 gadgets.io.getProxyUrl() 的示例小工具:

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Zombies!" height="350" />
  <Content type="html">
  <![CDATA[
  <div id="zombiecontainer"
    style="text-align:center;">
  </div>
  <script type="text/javascript">
  var counter = 0;

  // Preload the images using gadgets.io.getProxyUrl()
  function load(imageList) {
    var ret = [];
    for (var i = 0, j = imageList.length; i < j; ++i) {
      var img = document.createElement("img");
      img.src = gadgets.io.getProxyUrl(imageList[i]);
      ret.push(img);
    }
    return ret;
  }

  var files = [
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-0.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-1.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-2.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-3.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-4.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-5.jpg",
    "http://gadget-doc-examples.googlecode.com/svn/trunk/zombie-6.jpg"
  ];

  var images = load(files);
  browse();

  // Browse through photos sequentially. When you get to the end of the array, start over.
  function browse(){
    if (counter == images.length)
    {
      counter = 0;
    }
    document.getElementById("zombiecontainer").innerHTML = "";
    document.getElementById("zombiecontainer").appendChild(images[counter]);
    counter++;
  }

  </script>
  <br />
  <div style="text-align: center;">
    <input type=submit value="Next ->" onClick="browse()">
  </div>
  ]]>
  </Content>
</Module>

管理高访问量

以下准则可帮助您管理高容量的小工具:

  • 如果您要接收来自小工具用户的大量电子邮件,请使用 Gmail 并设置过滤器来管理容量。我们建议您在小工具规范中使用 <username>.feedback+<gadgetname>@gmail.com 形式的地址。这可帮助您过滤从小工具用户接收的邮件。Gmail 会省略加号 (+) 后的所有内容,所以该电子邮件地址映射为 <username>.feedback@gmail.com。请注意,Gmail 拥有高品质的垃圾邮件过滤器。
  • 如果您将小工具提交给 iGoogle 内容目录,请定期查看小工具说明页面上的用户评论。用户经常会留下有价值的反馈、功能请求以及他们使用小工具时遇到的缺陷的报告。随时了解客户的评论并与他们进行探讨是大有裨益的。

发布至 iGoogle 内容目录

完成对小工具的设计、运行和测试后,您可能决定将其提交给 Google 以在 iGoogle 内容目录中发布。目前,此功能仅适用于传统小工具。本部分列出了准备发布任何小工具均应遵循的常规步骤。

步骤 1:设置小工具使用偏好。

参考列出了可用于提供有关您小工具的“meta”信息的所有 <ModulePrefs> 属性。以下是您应该在小工具规范中包括的信息:

  • 标题
  • 说明。该属性很重要,它可让用户了解小工具的作用(尤其是当其不明显的时候)。
  • 作者
  • 作者电子邮件。这样,Google 和小工具用户便可联系到您。您可以使用任何电子邮件系统,但是鉴于会收到大量垃圾邮件,因此不应使用个人电子邮件地址。一种方法是在小工具规范中使用 helensmith.feedback+coolgadget@gmail.com 形式的电子邮件地址。Gmail 会省略加号 (+) 后的所有内容,所以该电子邮件地址映射为 helensmith.feedback@gmail.com。您可以在此处创建 Gmail 帐户。
  • 屏幕截图。这是给出了小工具屏幕截图网址的字符串。必须是详细的网址,而非相对网址。该图片必须位于不能被 robots.txt 拦截的公共网站上。PNG 是首选格式,GIF 和 JPG 也可接受。小工具屏幕截图的宽度应为 280 像素。屏幕截图的高度应为所使用的小工具的“自然”高度。这有助于用户在将小工具添加至其页面前了解小工具将在其屏幕上占据的空间大小。屏幕截图不应在小工具的蓝色标题栏之上留有空白。屏幕截图应显示完整的小工具,包括其标题栏但不加其他任何东西。或者,可在编辑窗口打开时对小工具进行屏幕截图。不应对屏幕截图进行大小调整或修剪。为保证质量和一致性,Google 可能会自己对指定小工具进行屏幕截图。
  • 缩略图。缩略图用于内容目录中,以便为用户提供小工具预览。缩略图应仅包含小工具的主要功能,而不显示其全部内容。该属性的值是可提供小工具缩略图网址的字符串。必须是详细的网址,而非相对网址。该图片必须位于不能被 robots.txt 拦截的公共网站上。PNG 是首选格式,GIF 和 JPG 也可接受。缩略图应为 120x60 像素。不应包含标题栏。
  • 作者位置
  • 作者所属机构
  • 标题网址。您可以使用该属性将小工具标题链接至外部 HTML 页面。例如,如果小工具是服务的前端,您可将该小工具标题链接至该服务的网站。
  • 目录标题(如果标题包含用户使用偏好替换变量,则需要该属性)。

如果您想列在作者页面上,您可以包括以下附加字段:

  • 作者照片。照片网址(首选 70x100 PNG 格式,但也支持 JPG/GIF)。
  • 作者个人介绍。个人说明(请尽量保持在 500 个字符内)。
  • 作者链接。指向您的网站、博客等内容的链接。
  • 作者摘录。您想要包含的摘录(请尽量保持在 300 个字符内)。

点击此处可找到详细信息,点击此处则可找到示例。

步骤 2:确保您编写的小工具稳健、安全。

确保您已通过可将所有安全风险降到最低的方式对小工具进行了编码。

步骤 3:添加任何相关的区域设置信息。

您可以使用 <ModulePrefs> 下的 <Locale> 标签来指定小工具所支持的区域设置。有关详细信息,请参阅 XML 参考中的 ModulePrefs/Locale

步骤 4:便于人们添加小工具。

要宣传您的小工具,请考虑在上面添加一个添加至 Google 的按钮。

步骤 5:将小工具提交至 Google。

您可以在此处将小工具提交至 Google。您也可以使用 GGE“文件”>“发布”命令将小工具直接提交至内容目录。请参阅常见问题解答获取对如何在目录中查找小工具,以及决定其放置位置的因素的说明。

管理提交的小工具

如果您已在不同网址提交了小工具的多个版本,并且想将某一版本指定为正式版本,您可使用 iGoogle 传统问题跟踪器以请求更改。

返回页首