Публикация гаджета

В этом документе описаны различные способы публикации гаджетов. Если вы используете Google Gadgets Editor (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, IE 7, IE 6, Opera 9.x, and Safari 2.x.
  • Попробуйте выбрать разные размеры шрифта.
    • Для изменения размера шрифта в Firefox выберите Инструменты > Настройки > Содержимое. Выберите в разделе "Шрифты и цвета" Дополнительно. Измените настройки шрифтов и снимите флажок "Разрешить веб-сайтам использовать свои шрифты вместо установленных".
    • Для изменения размера шрифта в Internet Explorer выберите Сервис > Свойства обозревателя > Общие. Используйте диалоговые окна Шрифты и Специальные возможности для изменения настроек.

Если вы используете makeRequest(), проверьте, что будет, если источник данных выключен или возвращает ошибку. Подобную ситуацию можно смоделировать, временно заменив один URL другим.

Проверка ширины и высоты

Размер гаджета в значительной степени определяется тем, где он запущен. Подробности смотрите в документации к вашему контейнеру.

Во время разработки и проверки гаджетов будьте готовы иметь дело с шириной, варьирующей в пределах от 200 до 600 пикселей. Для определенных гаджетов ширина должны быть еще больше. Общее правило – разрабатывайте гаджет с расчетом на дополнительное место. Например, гаджеты с картами должны обеспечивать точность различения регионов, гаджеты с картинками должны автоматически размещаться по центру рамки, а текстовые гаджеты – выводить текст на передний план (то есть, скажем, ссылки для получения дополнительной информации, которые, как правило, расположены внизу, должны оставаться вблизи содержания, не опускаясь к нижней границе окна гаджета).

Улучшение производительности гаджета

Если вы пишете гаджет, который может быть сильно загружен, есть способы повысить его доступность и производительность. Если гаджет испытывает более 200000 просмотров в день, или примерно 1-2 запроса в секунду, следует обратить внимание на советы в этом разделе. Даже гаджет размером 50 Кб, испытывающий 200000 запросов в день, потребляет около 300 Гб трафика в месяц.

Есть несколько причин, по которым гаджет может привлекать много пользователей. Он может быть просто популярен в каталоге содержания. Или, если гаджет используется в специальной акции или рекламе, это также может привести к большой нагрузке.

Ваша задача для гаджета под большой нагрузкой – сделать так, чтобы он выводился за 0,25 секунды (250 миллисекунд) или быстрее. Измерить это можно с помощью Firebug (только Firefox). Улучшение скорости отклика гаджета – надежный способ сделать пользователям приятно. Советы по улучшению производительности гаджета см. в разделе Оптимизация для большой нагрузки. Советы по управлению см. в разделе Управление большой нагрузкой. Общие рекомендации по тестированию особенно важны для очень популярных гаджетов.

Оптимизация для большой нагрузки

Если вы полагаете, что ваш гаджет может испытывать большую нагрузку, следуйте следующим рекомендациям:

  • Не используйте внешние JavaScript или CSS файлы (на которые ссылаются атрибуты "src" или "href" в тегах HTML), так как это приводит к дополнительной нагрузке. Разместите JavaScript и CSS в спецификации гаджета.
  • Используйте гаджет type=html. Гаджеты типа type=url обычно выводятся медленнее, чем type=html из-за низкой производительности и возможностей кэширования других серверов хостинга.
  • Метод makeRequest() по умолчанию кэширует содержание примерно на 1-2 часа. Для более частого обновления кэша можно использовать параметр refreshInterval с этими функциями . Кэширование, тем не менее, улучшает производительность гаджета, уменьшая количество запросов, отправляемых на удаленные серверы с содержанием. Не ставьте обновления чаще, чем нужно, в противном случае, уменьшится количество запросов, выполняемых через кэш. Более подробное обсуждение этой темы см. в разделе Обновление кэша.
  • Для настройки производительности гаджета используйте Firebug. Для других браузеров можно использовать Fiddler.
  • Старайтесь не использовать Google Analytics, так как это добавляет еще одно соединение с сервером. Вместо Analytics используйте http://www.google.com/ig/directory?url=<gadget-url>, чтобы узнать понедельное количество просмотров вашего гаджета.
  • Укажите высоту и ширину для всех тегов <img> в HTML гаджета. Это ускоряет вывод гаджета. Если вы используете 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: Выбор настроек гаджета.

Справочное руководство приводит все атрибуты <ModulePrefs>, которые можно использовать для предоставления "мета" информации о вашем гаджете. Ниже приведены сведения, которые необходимо включить в спецификацию гаджета.

  • title
  • description. Этот атрибут очень важен, поскольку он дает представление о функциях гаджета, особенно если это неочевидно.
  • author
  • author_email. Он необходим для того, чтобы с вами смогли связаться представители компании Google и пользователи вашего гаджета. Вы можете выбрать любую почтовую систему, однако из-за возможного спама не рекомендуется указывать личный адрес электронной почты. Один из подходов – использовать в спецификации гаджета адрес электронной почты форматаhelensmith.feedback+coolgadget@gmail.com. Gmail опускает все после знака плюс (+), поэтому этот адрес соответствует helensmith.feedback@gmail.com. Аккаунт Gmail можно создать здесь.
  • screenshot. Это строка, которая содержит URL снимка гаджета. Это должен быть полный, а не относительный URL. Это должен быть публичный веб-сайт, не блокированный robots.txt. Предпочитаемый формат – PNG, однако допускаются также форматы GIF и JPG. Снимки экранов гаджетов должны составлять 280 пикселей в ширину. Высота снимка экрана должна быть в "натуральную" величину гаджета. Это поможет пользователям понять, сколько места на экране займет гаджет перед добавлением на страницу. На снимке не должно быть свободного места над строкой с голубым заголовком гаджета. Гаджет на снимках должен быть показан целиком, включая строку заголовка, но на снимке больше ничего не должно быть. Кроме того, можно сделать снимок гаджета с открытым окном изменения. Снимки не следует масштабировать и кадрировать. В целях повышения однородности и качества материалов сотрудники компании Google могут сделать снимки гаджета сами.
  • thumbnail. Уменьшенные изображения используются в каталоге содержания для предварительного просмотра гаджета пользователями. На них должны быть представлены только основные функции гаджета. Значением этого атрибута является строка, которая содержит URL уменьшенного изображения гаджета. Это должен быть полный, а не относительный URL. Это должен быть публичный веб-сайт, не блокированный robots.txt. Предпочитаемый формат – PNG, однако допускаются также форматы GIF и JPG. Уменьшенное изображение должно иметь размер 120 на 60 пикселей. Оно не должен включать строку заголовка.
  • author_location
  • author_affiliation
  • title_url. Этот атрибут используется для связи заголовка гаджета с внешней веб-страницей. Например, если ваш гаджет – пользовательский интерфейс службы, его заголовок можно связать с веб-сайтом службы.
  • directory_title (необходим, если заголовок содержит подстановочные переменные настроек пользователя).

Если вы хотите быть указаны на странице авторов, вы можете включить следующие дополнительные поля.

  • author_photo. URL фотографии (предпочтительный формат – PNG (70x100), но также поддерживаются форматы JPG и GIF).
  • author_aboutme. Вкратце о себе (не более ~500 символов).
  • author_link. Ссылка на ваш веб-сайт, блог и т.д.
  • author_quote. Цитата, которую необходимо включить (не более ~300 символов).

Более подробные сведения можно найти здесь, а пример – здесь.

Шаг 2: Убедитесь в том, что вы создали надежный и защищенный гаджет.

Удостоверьтесь в том, что гаджет создан так, чтобы свести к минимуму риски с точки зрения безопасности.

Шаг 3: Добавьте необходимую информацию о локали.

Для определения локалей, поддерживаемых гаджетом, можно использовать теги <Locale> под <ModulePrefs>. Дополнительные сведения см. в разделе ModulePrefs/Locale в справочном руководстве XML.

Шаг 4: Сделайте так, чтобы людям было легко добавить ваш гаджет.

Для продвижения гаджета не помешает добавить к нему кнопку "Добавить на Google".

Шаг 5: Отправьте гаджет в Google.

Отправить свой гаджет в Google можно здесь. Гаджет можно также добавить в каталог содержания с помощью команд в GGE Файл > Опубликовать. Сведения о том, как найти гаджет в каталоге и от чего зависит его расположение см. в разделе Частые вопросы.

Управление отправленными гаджетами

Если вы отправили несколько версий гаджета по разным URL-адресам и хотите выбрать одну из версий в качестве официальной, это можно сделать на странице контроля за проблемами со старыми гаджетами iGoogle.

В начало