Пошаговое руководство. Отображение и отслеживание рекламных объявлений с помощью элемента управления AdRotator

Visual Studio 2010

Обновлен: Ноябрь 2007

На веб-узлах часто отображаются рекламные объявления или похожее динамическое содержимое, приглашающее пользователей посетить другой веб-узел. ASP.NET содержит элемент управления AdRotator, который упрощает эту задачу. Элемент управления AdRotator отображает графический объект, представляющий рекламное объявление, случайным образом выбирая объявление из созданного пользователем списка. После этого можно отслеживать, как часто пользователи просматривают и щелкают это рекламное объявление.

В данном пошаговом руководстве демонстрируется, как использовать элемент управления AdRotator для отображения рекламных объявлений, и описывается простой способ отслеживания откликов на объявления. В данном пошаговом руководстве представлены следующие задачи:

  • Создание списка отображаемых рекламных объявлений.

  • Отображение рекламных объявлений на странице.

  • Реализация способа отслеживания числа щелчков рекламного объявления.

  • Отображение статистических данных по щелчкам рекламного объявления.

Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты.

Если вы уже создали веб-узел в Visual Web Developer, выполнив Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer, то можно использовать этот веб-узел и перейти к следующему подразделу. В противном случае создайте новый веб-узел и страницу, выполнив следующие действия.

Создание веб-узла на базе файловой системы

  1. Откройте Visual Web Developer.

  2. В меню Файл выберите Создать, Веб-узел.

    Откроется диалоговое окно Создать веб-узел.

  3. В группе Установленные шаблоны Visual Studio выберите Веб-узел ASP.NET.

  4. В поле Расположение щелкните Файловая система и введите имя папки, где следует хранить страницы веб-узла.

    Например, введите имя папки C:\WebSite.

  5. В списке Язык выберите язык программирования, с которым вы предпочитаете работать.

    Выбранный язык программирования будет языком по умолчанию для веб-узла, но можно задать язык программирования для каждой страницы отдельно.

  6. Нажмите кнопку .

    Visual Studio создает папку и новую страницу с именем Default.aspx.

Рекламные объявления — это графические объекты, отображаемые на странице с целевым URL-адресом; когда пользователи щелкают этот объект, они перенаправляются на целевой веб-узел. Таким образом, в роли рекламных объявлений выступают файлы изображений.

azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

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

Начните с создания на веб-узле папки для хранения файлов изображений.

Создание папки изображений «Images»

  1. В обозревателе решений щелкните правой кнопкой мыши имя веб-узла, выберите команду Создать папку, а затем назовите папку Images.

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

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

Создание графических объектов для использования в качестве рекламных объявлений

  1. В операционной системе Microsoft Windows откройте приложение «Paint».

  2. В меню Рисунок выберите пункт Атрибуты.

  3. В диалоговом окне Атрибуты задайте для параметра Ширина значение 250 и для параметра Высота значение 50, а затем нажмите кнопку ОК.

  4. Перетащите инструмент текста из панели элементов на изображение, затем введите какой-либо текст, определяющий рекламное объявление.

  5. Сохраните изображение в папке «<имя_веб-узла>\Images» как <имя_веб-узла>\Images\Contoso_ad.gif.

  6. Создайте второй рисунок и сохраните его как «<имя_веб-узла>\Images\ASPNET_ad.gif».

  7. Закройте приложение «Paint».

Создание списка рекламных объявлений

Как только изображения для рекламных объявлений будут готовы, необходимо создать список объявлений, который сможет прочитать элемент управления AdRotator. Список должен иметь формат XML-файла.

Создание XML-файла с рекламными объявлениями

  1. В обозревателе решений щелкните правой кнопкой мыши папку «App_Data» и выберите команду Добавитьновый элемент.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Когда XML-файл помещен в папку «App_Data», ему автоматически назначаются необходимые права для разрешения чтения файла системой ASP.NET во время выполнения. Помещение XML-файла в папку «App_Data» позволяет защитить его от просмотра в обозревателе, так как папка «App_Data» помечена как недоступная для просмотра.

  2. В области Установленные шаблоны Visual Studio выберите XML-файл.

  3. В поле Имя введите Sample.ads.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Используйте расширение ADS.

  4. Нажмите кнопку Добавить.

    Создан новый XML-файл, содержащий директиву XML.

  5. Скопируйте в файл следующий текст XML, перезаписав директиву XML.

    <?xml version="1.0" encoding="utf-8" ?>
    <Advertisements>
      <Ad>
        <ImageUrl>~/images/Contoso_ad.gif</ImageUrl>
        <NavigateUrl>http://www.contoso.com</NavigateUrl>
        <AlternateText>Ad for Contoso.com</AlternateText>
      </Ad>
      <Ad>
        <ImageUrl>~/images/ASPNET_ad.gif</ImageUrl>
        <NavigateUrl>http://www.asp.net</NavigateUrl>
        <AlternateText>Ad for ASP.NET Web site</AlternateText>
      </Ad>
    </Advertisements>
    
    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Если файлы изображений имеют другие имена, измените имена в элементах <ImageUrl> на правильные.

    Этот XML-файл содержит элементы <Ad> для двух рекламных объявлений, соответствующие двум созданным файлам изображений. В реальной ситуации эти URL-адреса в элементах <NavigateUrl> должны ссылаться на веб-узлы рекламодателей.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    При определении рекламных объявлений доступны дополнительные элементы. Подробные сведения см. в разделе AdvertisementFile.

  6. Сохраните файл и закройте его.

Отображение рекламных объявлений на странице

Теперь необходимо настроить веб-страницу для отображения созданных рекламных объявлений. В следующей процедуре выполняется привязка элемента управления AdRotator к элементу управления XmlDataSource. Однако при использовании статического XML-файла элемент управления источником данных не требуется, поскольку XML-файл можно задать непосредственно с помощью свойства AdvertisementFile элемента управления AdRotator.

Отображение рекламных объявлений на странице

  1. Если для прохождения данного пошагового руководства был создан новый веб-узел, откройте страницу Default.aspx.

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

    1. В обозревателе решений щелкните правой кнопкой мыши имя веб-узла (например «C:\WebSites») и пункт выберите Добавить новый элемент.

    2. В области Установленные шаблоны Visual Studio выберите Форма Web Forms.

    3. В поле Имя введите TestAds.aspx.

    4. Нажмите кнопку Добавить.

  3. Откройте файл TestAds.aspx и переключитесь в режим конструирования.

  4. Из группы Стандартные панели элементов перетащите на страницу элемент управления AdRotator.

    Отображается контекстное меню Задачи AdRotator.

  5. В списке Выбор источника данных выберите Создать источник данных.

    Появится мастер настройки источника данных.

  6. В области Источник данных для приложения выберите XML-файл.

  7. В поле Укажите идентификатор для источника данных оставьте значение по умолчанию (XmlDataSource1).

  8. Нажмите кнопку .

    Открывается диалоговое окно Настроить источник данных.

  9. В поле Файл данных введите ~/App_Data/Sample.ads и нажмите кнопку ОК.

    Для поиска файлов можно также использовать кнопку Обзор:

    1. В диалоговом окне Выбор файла XML в списке Тип файлов выберите Все файлы (*.*).

    2. В области Папки проекта щелкните App_Data.

    3. В области Содержимое папки щелкните Sample.ads, нажмите кнопку ОК, а затем снова нажмите кнопку ОК.

  10. Из группы Стандартные в панели элементов перетащите на страницу элемент управления Button.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Точный макет страницы не имеет значения.

    Элемент управления Button находится на странице только для того, чтобы было удобно выполнить обратную передачу страницы на сервер.

Теперь можно проверить рекламные объявления.

Проверка рекламных объявлений

  1. Чтобы запустить страницу, нажмите сочетание клавиш CTRL + F5.

    На странице отображается одно из двух рекламных объявлений.

  2. Несколько раз щелкните элемент Кнопка, чтобы вызвать обратную передачу страницы.

    Отображаемое рекламное объявление изменяется случайным образом.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Поскольку доступно всего два рекламных объявления, то для того, чтобы увидеть другое объявление, может потребоваться щелкнуть элемент Кнопка несколько раз.

  3. Щелкните рекламное объявление.

    Выполняется перенаправление на целевую страницу данного рекламного объявления.

  4. Закройте обозреватель.

На данном этапе страница просто отображает рекламное объявление, которое пользователи могут щелкнуть для перехода на другую страницу. В этом подразделе пошагового руководства добавляются функции отслеживания количества щелчков рекламных объявлений. Сначала изменяется URL-адрес рекламных объявлений в файле Sample.ads для отправки отклика на объявление на страницу переадресации со сведениями в строке запроса, идентифицирующими объявление и конечное назначение.

Затем создается второй XML-файл для хранения сведений счетчика рекламных объявлений. На рабочем веб-узле не следует использовать XML-файл для отслеживания щелчков рекламных объявлений, так как XML-файл не предназначен для передачи больших объемов трафика. Однако в рамках данного пошагового руководства использование XML-файла удобно, так как не требуется настраивать доступ к базе данных. Кроме того, в рабочем приложении может потребоваться более сложная функция отслеживания щелчков, например, с отслеживанием уникальных посетителей, сведениями о дате и времени выполнения щелчков и т. д. Однако общая стратегия использования страницы переадресации для обработки данных о щелчках остается одинаковой независимо от способа реализации этого отслеживания.

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

Переадресация рекламных объявлений на страницу отслеживания

  1. Откройте файл Sample.ads.

  2. Убедитесь, что NavigateUrl содержит следующие данные:

    • Имя страницы переадресации (AdRedirector.aspx).

    • Идентификатор каждого рекламного объявления.

    • Страница, на которую в конечном счете ссылается рекламное объявление.

    В следующем коде XML-файл Sample.ads содержит обновленные URL-адреса, указывающие на страницу AdRedirector.aspx. Идентификатор рекламного объявления и целевая страница задаются в виде строки запроса.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Амперсанд (&) является зарезервированным знаком в XML, поэтому вместо него строка запроса содержит ссылку на сущность &amp; .

    <?xml version="1.0" encoding="utf-8" ?>
    <Advertisements>
      <Ad>
        <ImageUrl>~/images/Contoso_ad.gif</ImageUrl>
        <NavigateUrl>AdRedirector.aspx?ad=Widgets&amp;target=http://www.contoso.com/widgets/</NavigateUrl>
        <AlternateText>Ad for Contoso.com</AlternateText>
      </Ad>
      <Ad>
        <ImageUrl>~/images/ASPNET_ad.gif</ImageUrl>
        <NavigateUrl>AdRedirector.aspx?ad=ASPNET&amp;target=http://www.asp.net</NavigateUrl>
        <AlternateText>Ad for ASP.NET Web site</AlternateText>
      </Ad>
    </Advertisements>
    
  3. Сохраните файл Sample.ads и закройте его.

Дале необходимо создать XML-файл для сохранения информации счетчика щелчков рекламных объявлений. На рабочем веб-узле эту операцию выполнять не нужно, так как запись данных будет выполняться в базу данных. Использование XML-файла в данном пошаговом руководстве упрощает реализацию отслеживания откликов на рекламные объявления.

Создание XML-файла для отслеживания откликов на рекламные объявления

  1. В обозревателе решений щелкните правой кнопкой мыши папку App_Data и выберите команду Добавитьновый элемент.

  2. В области Шаблоны щелкните XML-файл.

  3. В поле Имя введите AdResponses.xml и нажмите кнопку Добавить.

    Создан новый XML-файл, содержащий директиву XML.

  4. Скопируйте в файл следующий текст XML, перезаписав директиву XML.

    <?xml version="1.0" standalone="yes"?>
    <adResponses>
      <ad adname="Widgets" hitCount="0" />
      <ad adname="ASPNET" hitCount="0" />
    </adResponses>
    

    Файл содержит элементы, состоящие из двух записей — идентификатора рекламного объявления и счетчика.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Если во время предыдущей процедуры, когда создавались строки запроса, объявлениям в файле Sample.ads были назначены другие идентификаторы, убедитесь, что в файле AdResponses.xml используются такие же идентификаторы.

  5. Сохраните файл и закройте его.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    Наличие у ASP.NET разрешения на запись в XML-файл зависит от используемого веб-сервера. В данном пошаговом руководстве используется сервер ASP.NET, входящий в состав Visual Web Developer и имеющий права на запись в XML-файл. При использовании служб IIS рабочий процесс веб-сервера IIS Web может не иметь прав на запись в данный XML-файл, в этом случае необходимо явно предоставить такие права. Дополнительные сведения о веб-серверах в Visual Web Developer см. в разделе Веб-серверы в Visual Web Developer.

Теперь необходимо создать страницу переадресации, которая собирает информацию о рекламном объявлении, которое щелкнул пользователь, обновляет счетчик для этого объявления, а затем отправляет запрос на страницу, с которой связано объявление.

Создание обработчика Page_Load

  1. В обозревателе решений щелкните правой кнопкой мыши имя веб-узла (например «C:\WebSites») и пункт выберите Добавить новый элемент.

  2. В области Установленные шаблоны Visual Studio выберите Форма Web Forms.

  3. В поле Имя введите AdRedirector.aspx и нажмите кнопку Добавить.

    при этом создается страница, на которую направляются все рекламные объявления, когда пользователи щелкают их. Эта страница не отображаться пользователям. Поэтому элементы управления на нее не помещаются.

  4. В представлении конструирования дважды щелкните эту страницу, чтобы создать обработчик Page_Load.

  5. Скопируйте в обработчик следующий код (не перезаписывайте общую схему объявления обработчика).

    protected void Page_Load(object sender, EventArgs e)
    {
        String adName = Request.QueryString["ad"];
        String redirect = Request.QueryString["target"];
        if (adName == null | redirect == null)
            redirect = "TestAds.aspx";
    
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        String docPath = @"~/App_Data/AdResponses.xml";
        doc.Load(Server.MapPath(docPath));
        System.Xml.XmlNode root = doc.DocumentElement;
        System.Xml.XmlNode adNode =
            root.SelectSingleNode(
            @"descendant::ad[@adname='" + adName + "']");
        if (adNode != null)
        {
            int ctr =
                int.Parse(adNode.Attributes["hitCount"].Value);
            ctr += 1;
            System.Xml.XmlNode newAdNode = adNode.CloneNode(false);
            newAdNode.Attributes["hitCount"].Value = ctr.ToString();
            root.ReplaceChild(newAdNode, adNode);
            doc.Save(Server.MapPath(docPath));
        }
        Response.Redirect(redirect);
    }
    
    
    

    Этот код считывает из строки запроса идентификатор рекламного объявления и URL-адрес. Затем он использует методы XML для считывания данных из файла AdResponse.xml в объект XmlDocument. Этот код находит необходимые элементы XML с помощью выражения XPath, извлекает значение hitCounter, а затем обновляет значение hitCounter. Затем код создает копию элемента XML с помощью клонирования, заменяет старый элемент на новый, а затем записывает обновленный документ XML обратно на диск. В конце код выполняет перенаправление на URL-адрес для рекламного объявления.

Теперь можно проверить работу счетчиков объявлений.

Проверка отслеживания откликов на рекламные объявления

  1. Откройте страницу с элементом управления AdRotator и нажмите сочетание клавиш CTRL+F5.

  2. Щелкните рекламное объявление.

    Выполняется перенаправление на целевую страницу данного рекламного объявления.

  3. В обозревателе нажмите кнопку Назад, чтобы вернуться на страницу объявления.

  4. Щелкните рекламное объявление еще раз или щелкните элемент Кнопка для отображения другого рекламного объявления, а затем щелкните это рекламное объявление.

  5. Продолжайте до тех пор, пока не щелкните каждое из рекламных объявлений хотя бы один раз, и одно или несколько объявлений — более одного раза.

  6. Закройте обозреватель.

  7. В Visual Web Developer откройте файл AdResponse.xml и убедитесь, что счетчики для рекламных объявлений показывают число выполненных во время проверки щелчков.

  8. Закройте файл AdResponse.xml.

В завершение данного пошагового руководства создается страница, на которой отображаются сведения о счетчиках объявлений, что значительно удобнее проверки XML-файла вручную.

Создание страницы для отображения данных об откликах на рекламные объявления

  1. В обозревателе решений щелкните правой кнопкой имя веб-узла, а затем выберите Добавитьновый элемент.

  2. В области Установленные шаблоны Visual Studio выберите Форма Web Forms.

  3. В поле Имя введите ViewAdData.aspx.

  4. Нажмите кнопку Добавить.

  5. Перейдите в режим конструирования.

  6. Из группы Данные в панели элементов перетащите на страницу элемент управления XmlDataSource.

  7. В контекстном меню ЗадачиXmlDataSource выберите команду Настроить источник данных.

    Отображается диалоговое окно Настроить источник данных <имя_источника_данных>.

  8. В поле Файл данных введите ~/App_Data/AdResponses.xml.

    Для поиска файлов можно также использовать кнопку Обзор.

  9. Нажмите кнопку .

  10. Из группы Данные панели элементов перетащите на страницу элемент управления GridView.

  11. В контекстном меню Задачи GridView выберите в списке Выбор источника данных команду XmlDataSource1.

  12. Чтобы запустить страницу, нажмите сочетание клавиш CTRL + F5.

    На странице отображается таблица с данными откликов на рекламные объявления.

  13. Закройте обозреватель.

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

  • Используйте дополнительные атрибуты при создании рекламных объявлений в XML-файле.

    Например, с помощью элемента Impressions можно регулировать частоту выбора данного объявления по сравнению с другими объявлениями в файле объявлений. Чем выше значение, тем выше вероятность выбора этого объявления. Подробные сведения см. в разделе AdvertisementFile.

  • Используйте для отслеживания откликов на объявления базу данных.

    azwad69k.alert_note(ru-ru,VS.100).gifПримечание.

    В рабочем приложении не следует использовать XML-файл для отслеживания откликов на рекламные объявления, так как он не обеспечивает поддержку большого числа пользователей. Использование XML-файла в данном пошаговом руководстве упрощает реализацию отслеживания откликов на рекламные объявления и позволяет не настраивать базу данных.

  • Отслеживайте дополнительные сведения о щелчках рекламных объявлений.

    Может потребоваться отслеживать уникальных посетителей, например с помощью записи файла cookie в обозреватель, чтобы определить, щелкнул ли пользователь объявление в течение дня, или с помощью отслеживания IP-адреса обозревателя при сохранении сведений о щелчках. Можно также регистрировать статистику сведений о щелчках по дате и времени, а также отслеживать сведения об объявлениях по другому динамическому содержимому на исходной странице, с помощью которого можно анализировать шаблоны трафика.

  • Выполните привязку элемента управления AdRotator к его данным с помощью другого элемента управления источником данных.

    Например, можно сохранить данные рекламных объявлений в базе данных. В этом случае можно добавить на страницу элемент управления источником данных и настроить его на использование запроса для получения данных рекламных объявлений. После этого можно связать элемент управления AdRotator с элементом управления источником данных. Подробные сведения см. в разделе Практическое руководство. Отображение рекламных объявлений из базы данных с помощью серверного веб-элемента управления AdRotator.

Показ: