Как я должен отслеживать рендеры виджетов? - PullRequest
0 голосов
/ 23 апреля 2009

Я создал виджет, который пользователи моего сайта будут вставлять на свои веб-сайты. Я хочу отслеживать количество раз, которое виджет отображает, а также ссылающийся URL. Виджет был написан на flex, а мой бэкэнд - Rails.

Один из очевидных способов сделать это - заставить мой виджет сделать сервисный вызов на сервер для регистрации попадания. Однако, когда мой виджет загружается, он захватывает конфигурационный XML. Если я добавлю еще один вызов службы рендеринга, это будет 3 запроса на рендеринг виджета (один для получения SWF, один для получения конфигурации, один для визуализации). Я мог бы сделать config.xml динамическим и просто обработать рендер там, а затем вернуть XML ... но может ли это быть плохо для масштабирования?

Другой вариант - сделать так, чтобы исходный URL для встраивания указывал на скрипт, который обрабатывает попадание, а затем возвращает SWF ... Я почти уверен, что это возможно. Но я также не уверен, что это лучший способ.

Меня интересуют любые профессиональные советы по этому вопросу. Как профессионалы эффективно внедряют эту простую систему?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 апреля 2009

Стандартный способ сделать это - загрузить изображение размером 1 пиксель («ошибка») с вашего сайта и использовать аналитику на своем сайте для отслеживания статистики. Существует много нововведений в этой технике, но все они основаны на простой загрузке изображения в 1px и использовании связанных заголовков HTTP.

В Википедии есть хорошая статья по этой технике:

http://en.wikipedia.org/wiki/Web_bug

(Кроме того, ограничение браузера для одновременных HTTP-запросов применяется только к запросам, отправленным в один и тот же домен. Вы можете обойти это, используя несколько поддоменов или любым другим способом, чтобы убедиться, что ваши ресурсы не все из одного домена.)

1 голос
/ 24 апреля 2009

Все три упомянутых вами варианта кажутся вполне допустимыми способами сделать это, но регистрация этих совпадений в то же время, что и возврат файла конфигурации .swf или .xml, кажется разумным решением, поскольку большинство браузеров AFAIK имеют довольно низкий предел для количества одновременных HTTP-запросов, которые они могут сделать к одному и тому же хосту (я думаю, что это два или что-то в этом роде), поэтому, если нужно сделать больше запросов для того, чтобы что-то отобразить в браузере, те, которые переходят этот предел должен будет ждать окончания первых, прежде чем будет инициирован. Это также, вероятно, повлечет за собой немного меньше работы для вас.

Единственное отличие, которое я могу себе представить, заключается в том, что возвращение .swf еще не означает, что экземпляр Flash Player будет отображать его, поэтому «регистрация визуализаций» при возврате config xml кажется более точным измерением сколько раз чей-то браузер успешно загружал и показывал им этот .swf (при условии, что приложение Flash будет инициировать запрос этого конфигурационного файла после его успешной загрузки).

Что касается проблемы масштабирования, независимо от того, когда вы регистрируете попадание, для него все равно потребуется одинаковое количество обработки на сервере (что я не могу себе представить, что оно слишком велико для чего-то подобного), так что я не вижу в этом большого беспокойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...